% demo metodi numerici per il calcolo di zeri di funzioni
f = inline('2*x*exp(-15)-2*exp(-15*x)+1')
% verifichiamo se nell'intervallo [0,1] la funzione cambia di segno
pause
f(0)
f(1)
pause
% inizializziamo i dati di input per la function bzero
% che implementa il metodo delle biszioni
options = struct('TolX',1e-10,'Display','iter','Nmax',100)
pause
% richiamiamo la function bzero
[x,fx,exitflag,output]=bzero(f,[0 1],options)
pause
% richiamiamo la function szero che implementa
% il metodo delle secanti
 [x,fx,exitflag,output]=szero(f,[0 1],options)
 pause
 % inizializziamo i dati di input per la function nzero
 % che implementa il metodo di newton
 % df derivata prima di f
  df = inline('2*exp(-15)+30*x*exp(-15*x)')
  pause
  % richiamiamo la function nzero con punto iniziale 0
   [x,fx,exitflag,output]=nzero(f,df,0,options)
   pause
    % richiamiamo la function nzero con punto iniziale 1
 [x,fx,exitflag,output]=nzero(f,df,1,options)
  pause
  % richiamiamo la functio ibrida bszero
   [x,fx,exitflag,output]=bszero(f,[0 1],options)
   pause
   %richiamiamo la function del matlab fzero
   [x,fx,exitflag,output]=fzero(f,[0 1],options)