
function demoII

f=@(x) sin(x); % funzione 
x0=pi/4; % 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.091970369975804e-02
%      2.353982559433199e-06
%      2.357363193539186e-10
%      1.203481758693670e-13
%      6.476152947243463e-12
%      1.147230088704987e-10
%      9.436895709313831e-10
%      2.035408730449717e-09
%      7.401486867841811e-09
%      3.608224831141982e-07
%      3.700743415047114e-07
%      9.899488636244680e-05
%      8.511709855459904e-04
%      7.494005416219696e-03
%      3.978299171573463e-02
%      4.625929269271485e-01
%      3.978299171573478e+00
%      3.330669073875470e+01
%
% % vettore dapprox:
%
% ans =
% 
%      6.861847232685282e-01
%      7.071044269682862e-01
%      7.071067809508457e-01
%      7.071067811865820e-01
%      7.071067811864616e-01
%      7.071067811799855e-01
%      7.071067812947085e-01
%      7.071067803510189e-01
%      7.071067823864277e-01
%      7.071067897879145e-01
%      7.071071506103976e-01
%      7.071075206847391e-01
%      7.070085257983767e-01
%      7.078596967839227e-01
%      7.003656913677030e-01
%      7.401486830834376e-01
%      2.775557561562891e-01
%     -3.700743415417189e+00
%     -3.700743415417188e+01