Quello che segue è il codice per la modifica del metodo di Newton in caso di radici multiple
function [x,i,tolf]=newtonmolt(x0,r,f,df,tolx,nmax)
%NEWTONMOLT Esegue il metodo di Newton modificato per la risoluzione di
% f(x)=0 anche in presenza di radici multiple, nota la loro
% molteplicità
%
% [x,i,tolf]=NEWTONMOLT(x0,r,f,df,tolx,nmax)
%
% I parametri della funzione sono:
% x0 -> il punto iniziale
% r -> molteplicità della radice cercata
% f -> funzione di cui valutare uno zero
% df -> la derivata della funzione f
% toll -> 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 NEWTON, AITKEN
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-r*(fx/dfx);
err=abs(x1-x);
x=x1;
i=i+1;
end