Di seguito presentiamo l'implementazione del metodo di accelerazione di Aitken
function [x,i,tolf]=aitken(x0,f,df,tolx,nmax) %AITKEN Esegue il metodo di accelerazione Aitken, una modifica del metodo % di Newton per il calcolo di f(x)=0 in presenza di radici multiple, % senza conoscerne la molteplicità % % [x,i,tolf]=AITKEN(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 NEWTON, NEWTONMOLT i=0; err=tolx+1; x=x0; while (i<nmax & err>tolx) x0=x; fx0=feval(f,x0); dfx0=feval(df,x0); tolf=tolx*abs(dfx0); if abs(fx0)<=tolf break end x1=x0-(fx0/dfx0); err=abs(x1-x0); if err<tolx break end fx1=feval(f,x1); dfx1=feval(df,x1); tolf=tolx*abs(dfx1); if abs(fx1)<=tolf break end x2=x1-(fx1/dfx1); err=abs(x2-x1); if err<tolx break end x=(x2*x0-(x1)^2)/(x2-2*x1+x0); err=abs(x0-x); i=i+1; end