%
%   Tema d'esame CALCOLO NUMERICO - MILANO 20 FEBBRAIO 2013 - Esercizio 1
%
clear all
f=inline('x.*exp(-2*x)','x');
g=inline('x.*log(x)','x');
a=0;
b=[5:10];
h=b-a;
m=10*b;
for k=1:length(b)
    x=linspace(a,b(k),m(k)+1);
    y=f(x);
    H(k)=h(k)/m(k);
    I_inf(k)=H(k)/2*(y(1)+y(end)+2*sum(y(2:end-1)));
    fprintf('M=%2d \t I_inf(trapezi)=%12.8f \n',m(k),I_inf(k))
end
b1=1;
n=[50:50:200];
disp(' ')
for j=1:length(n)
    x1=linspace(a,b1,n(j)+1);
    y1=g(x1);
    H1(j)=(b1-a)/n(j);
    Hmezzi(j)=H1(j)/2;
    y1m=g(x1(2:end)-Hmezzi(j));
    I_lim(j)=-H1(j)*sum(y1m);
    fprintf('N=%2d \t I_lim(p_medio)=%12.8f \n',n(j),I_lim(j))
end

%M=50 	 I_inf(trapezi)=  0.24904314 
%M=60 	 I_inf(trapezi)=  0.24914831 
%M=70 	 I_inf(trapezi)=  0.24916520 
%M=80 	 I_inf(trapezi)=  0.24916785 
%M=90 	 I_inf(trapezi)=  0.24916826 
%M=100 	 I_inf(trapezi)=  0.24916832 
 
%N=50 	 I_lim(p_medio)=  0.25010340 
%N=100 	 I_lim(p_medio)=  0.25002874 
%N=150 	 I_lim(p_medio)=  0.25001352 
%N=200 	 I_lim(p_medio)=  0.25000791 