6.3 It´ erations de point fixe pour les ´ equations non lin´ eaires
223
Programme 46 - newton : M´ ethode de Newton
function [xvect,xdif,fx,nit]=newton(x0,tol,nmax,fun,dfun)
%NEWTON m´ ethode de Newton
% [XVECT,XDIF,FX,NIT]=NEWTON(X0,TOL,NMAX,FUN,DFUN) tente de
% trouver un z´ ero de la fonction continue FUN avec la m´ ethode de
% Newton en partant de la donn´ ee initiale X0. FUN et DFUN accepte
% une variable r´ eelle scalaire x et renvoie une valeur r´ eelle
% scalaire. XVECT est le vecteur des it´ er´ ees, XDIF est le vecteur
% des diff´ erences entre it´ er´ ees cons´ ecutives, FX est le r´ esidu.
% TOL est la tol´ erance de la m´ ethode.
err=tol+1; nit=0; xvect=x0; x=x0; fx=eval(fun); xdif=[];
while nittol
nit=nit+1;
x=xvect(nit);
dfx=eval(dfun);
if dfx==0
err=tol*1.e-10;
fprintf(’arrˆ et car dfun est nulle’);
else
xn=x-fx(nit)/dfx; err=abs(xn-x); xdif=[xdif; err];
x=xn; xvect=[xvect;x]; fx=[fx;eval(fun)];
end
end
return
6.3 It´ erations de point fixe pour les ´ equations
non lin´ eaires
Nous donnons dans cette section un proc´ ed´ e g´ en´ eral pour trouver les racines
d’une ´ equation non lin´ eaire. La m´ ethode est fond´ ee sur le fait qu’il est toujours
possible, pour f : [a, b] → R, de transformer le probl` eme f(x) = 0 en un
probl` eme ´ equivalent x − φ(x) = 0, o` u la fonction auxiliaire φ : [a, b] → R a ´ et´ e
choisie de mani` ere ` a ce que φ(α) = α quand f(α) = 0. Approcher les z´ eros de
f se ram` ene donc au probl` eme de la d´ etermination des points fixes de φ, ce
qui se fait en utilisant l’algorithme it´ eratif suivant :
´ etant donn´ e x
(0) , on pose
x
(k+1) = φ(x
(k) ),
k ≥ 0.
(6.17)
On dit que (6.17) est une it´ eration de point fixe et φ la fonction d’it´ eration associ´ ee. On appelle parfois (6.17) it´ eration de Picard ou it´ eration fonctionnelle
pour la r´ esolution de f(x) = 0. Remarquer que, par construction, les m´ ethodes
de la forme (6.17) sont fortement consistantes au sens de la d´ efinition donn´ ee
` a la Section 2.2.
223
Programme 46 - newton : M´ ethode de Newton
function [xvect,xdif,fx,nit]=newton(x0,tol,nmax,fun,dfun)
%NEWTON m´ ethode de Newton
% [XVECT,XDIF,FX,NIT]=NEWTON(X0,TOL,NMAX,FUN,DFUN) tente de
% trouver un z´ ero de la fonction continue FUN avec la m´ ethode de
% Newton en partant de la donn´ ee initiale X0. FUN et DFUN accepte
% une variable r´ eelle scalaire x et renvoie une valeur r´ eelle
% scalaire. XVECT est le vecteur des it´ er´ ees, XDIF est le vecteur
% des diff´ erences entre it´ er´ ees cons´ ecutives, FX est le r´ esidu.
% TOL est la tol´ erance de la m´ ethode.
err=tol+1; nit=0; xvect=x0; x=x0; fx=eval(fun); xdif=[];
while nit
nit=nit+1;
x=xvect(nit);
dfx=eval(dfun);
if dfx==0
err=tol*1.e-10;
fprintf(’arrˆ et car dfun est nulle’);
else
xn=x-fx(nit)/dfx; err=abs(xn-x); xdif=[xdif; err];
x=xn; xvect=[xvect;x]; fx=[fx;eval(fun)];
end
end
return
6.3 It´ erations de point fixe pour les ´ equations
non lin´ eaires
Nous donnons dans cette section un proc´ ed´ e g´ en´ eral pour trouver les racines
d’une ´ equation non lin´ eaire. La m´ ethode est fond´ ee sur le fait qu’il est toujours
possible, pour f : [a, b] → R, de transformer le probl` eme f(x) = 0 en un
probl` eme ´ equivalent x − φ(x) = 0, o` u la fonction auxiliaire φ : [a, b] → R a ´ et´ e
choisie de mani` ere ` a ce que φ(α) = α quand f(α) = 0. Approcher les z´ eros de
f se ram` ene donc au probl` eme de la d´ etermination des points fixes de φ, ce
qui se fait en utilisant l’algorithme it´ eratif suivant :
´ etant donn´ e x
(0) , on pose
x
(k+1) = φ(x
(k) ),
k ≥ 0.
(6.17)
On dit que (6.17) est une it´ eration de point fixe et φ la fonction d’it´ eration associ´ ee. On appelle parfois (6.17) it´ eration de Picard ou it´ eration fonctionnelle
pour la r´ esolution de f(x) = 0. Remarquer que, par construction, les m´ ethodes
de la forme (6.17) sont fortement consistantes au sens de la d´ efinition donn´ ee
` a la Section 2.2.
