dimanche 26 mai 2013

Algorithme de la Méthode d’Aitken en Matlab

Algorithme de la Méthode d’Aitken en Matlab :

function [x,niter]=aitken(phi ,x0,tol ,nmax,varargin )
%AITKEN Extrapolation d’Aitken
% [ALPHA,NITER]=AITKEN(PHI ,X0) calcule une
% approximation d’un point fixe ALPHA d’une fonction
% PHI en partant de la donnée initiale X0 à l’aide de
% la méthode d’extrapolation d’Aitken. L’algorithme
% s’arrête après 100 itérations ou quand la valeur
% absolue de la différence entre deux itérées
% consécutives est plus petite que 1.e-04. PHI doit
% être définie comme une fonction , une fonction
% inline, une fonction anonyme ou un M-fichier .
% [ALPHA,NITER]=AITKEN(PHI ,X0,TOL ,NMAX) permet de
% définir la tolérance pour le critère d’arrêt et le
% nombre maximal d’itérations.
if nargin == 2
tol = 1.e-04;
nmax = 100;
elseif nargin == 3
nmax = 100;
end
x = x0;
diff = tol + 1;
niter = 0;
while niter < nmax & diff >= tol
gx = feval(phi ,x,varargin {:});
ggx = feval(phi ,gx,varargin {:});
xnew = (x*ggx -gx^2)/(ggx -2*gx+x);
diff = abs(x-xnew);
x = xnew;
niter = niter + 1;
end
if (niter==nmax & diff>tol)
fprintf ([’Ne converge pas après avoir atteint le ’ ,...
’nombre maximum d’’itérations\n’]);
end
return

Aucun commentaire:

Enregistrer un commentaire