
function [y, err_est] = rapp_incr_simm (f,x0,h,a,b)

% Uso:
%   function [y, err_est] = rapp_incr_simm (f,x_0,h,a,b)
%
% Dati di ingresso:
%  f:       funzione vettoriale;
%  x0: punto in cui si vuole approssimare Df(x_0);
%  h: passo della formula del rapp.incr.simm.;
%  a,b: estremi dell'intervallo [a,b] di definizione della funzione 
%
% Dati di uscita:
%   y:       approssimazione di Df(x_0).
%  err_est: stima dell'errore assoluto compiuto.

if ((x0-h) <= a) | ((x0+h) >= b)
    y=NaN;
    fprintf('\n \t non si puo'' applicare il rapporto incrementale simmetrico');
    return;
end

% derivata seconda calcolata numericamente
y=(f(x0+h)-f(x0-h))/(2*h);

% derivata seconda calcolata numericamente con passo minore
H=h/100;
yH=(f(x0+H)-f(x0-H))/(2*H);

% stima dell'errore compiuto
err_est=abs(yH-y);




