% studio dell'errore nel calcolo di una approssimazione
% della derivata prima con le differenze in avanti e le 
% differenze centrali
%
% exp(x) funzione test scegliamo x=1
%
h = logspace(-20,0,500);

% differenze in avanti
xm = 1;
tic
df_a = ( exp(xm+h) - exp(xm) )./h;
toc
tic
for i=1:50000
     df_al(i) = ( exp( xm+h(i) ) - exp(xm) )/h(i);
end
toc

norm( df_a-df_al,'inf') % norma infinito

% differencze centrali

df_c = ( exp(xm+h) - exp(xm-h) )./(2*h);

err_ass_a = abs( exp(xm)-df_a)/exp(xm);
err_ass_c = abs( exp(xm)-df_c)/exp(xm);

loglog(h, err_ass_a,'.b',h,err_ass_c,'.r');