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