Implementazione in Matlab (radici semplici)

Il codice di seguito implementa il metodo di Newton "classico", quello cioè per radici semplici

function [x,i,tolf]=newton(x0,f,df,tolx,nmax)
%NEWTON Esegue il metodo di Newton per il calcolo della radice
%   di una funzione non lineare
%
%   [x,i,tolf]=NEWTON(x0,f,df,tolx,nmax)
%
%   I parametri della funzione sono:
%       x0 -> il punto iniziale
%       f -> funzione di cui valutare uno zero
%       df -> la derivata della funzione f
%       tolx -> tolleranza per la radice
%       nmax -> limite superiore al numero di iterazioni
%
%   I valori di ritorno sono:
%       x -> la soluzione trovata
%       i -> il numero di iterazioni impiegate per ottenere la soluzione
%       tolf -> la tolleranza sulla funzione
%
%  See Also NEWTONMOLT, AITKEN, BISEZIONE, CORDE, SECANTI, STEFFENSEN
  i=0;
  err=tolx+1;
  x=x0;
  while(i<nmax & err>tolx)
      fx=feval(f,x);
      dfx=feval(df,x);
      tolf=tolx*abs(dfx);
      if abs(fx)<=tolf
         break
      end
      x1=x-(fx/dfx);
      err=abs(x1-x);
      i=i+1;
      x=x1;
  end



Morpheus 2004-01-04