
function demoII

f=@(x) sin(pi+x); % funzione 
x0=0; % punto in cui si desira calcolare la derivata

% approssimazioni della derivata, al variare di "h"

for k=1:19
    h=10^(-(k-1));
    dapprox(k)= differenza_centrale (f,x0,h);
end

% NB: 
% Il comando che segue e' equivalente a 
% for i=1:length(dapprox)-1
%     diffder(i)=abs(dapprox(ii+1)-dapprox(i));
% end

% valutazione "diffder"
diffder=abs(dapprox(2:end)-dapprox(1:end-1));

% valutazione "n" per cui "diffder" e' sotto 10^(-15)
n=1; 
while diffder(n+1) < diffder(n)
    n=n+1;
end

% stampe
fprintf('\n \t n: %2.0f',n)
fprintf('\n \t dapprox(n): %1.15e',dapprox(n));
fprintf('\n \t diffder(n): %1.1e \n \n',diffder(n));

% RISULTATO CORRETTO:
% >> demoII
% 
%  	 n:  4
%  	 dapprox(n): 7.071067811865820e-01
%  	 diffder(n): 1.2e-13 
%
% >> 
%
% NOTA:
% uno studente vorrebbe vedere se ha fatto giusto; basta mettere a video:
%
% format long e;
% diffder'
% dapprox'
%
% e ottiene:
%
% % vettore diffder (si guardino la riga 4 e 5):
%
% ans =
% 
%      2.958492869302554e-02
%      3.329034034771361e-06
%      3.332143450052172e-10
%      2.993938430506660e-12
%      3.700817430285497e-12
%      2.072417792930992e-10
%      2.590520464806900e-09
%      3.700743600454359e-09
%      8.881784185899022e-08
%      2.220446049250313e-16
%                          0
%      8.881784197001252e-05
%      8.881784197002363e-04
%      2.960594732333777e-02
%      2.146431180941971e-01
%      8.141635513917814e-01
%      1.848892746611747e-16
%      1.848892746611746e-15
%
% % vettore dapprox:
%
% ans =
% 
%     -9.704117419395818e-01
%     -9.999966706326073e-01
%     -9.999999996666421e-01
%     -9.999999999998564e-01
%     -1.000000000002850e+00
%     -1.000000000006551e+00
%     -1.000000000213793e+00
%     -9.999999976232725e-01
%     -9.999999939225289e-01
%     -1.000000082740371e+00
%     -1.000000082740371e+00
%     -1.000000082740371e+00
%     -1.000088900582341e+00
%     -9.992007221626408e-01
%     -1.028806669485979e+00
%     -8.141635513917814e-01
%     -2.054325274013052e-17
%     -2.054325274013052e-16
%     -2.054325274013051e-15
% 
  
    


