6.7 R´ esolution des syst` emes d’´ equations non lin´ eaires
243
Programme 52 - adptnewt : M´ ethode de Newton adaptative
function [xvect,xdif,fx,nit]=adptnewt(x0,tol,nmax,fun,dfun)
%ADPTNEWT M´ ethode de Newton adaptative
% [XVECT,XDIF,FX,NIT]=ADPTNEWT(X0,TOL,NMAX,FUN,DFUN) tente de
% trouver un z´ ero de la fonction continue FUN en utilisant la m´ ethode
% adaptative de Newton, en partant de la donn´ ee initiale X0. FUN et DFUN acceptent
% 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.
xvect=x0;
nit=0; r=[1]; err=tol+1; m=[1]; xdif=[];
while nittol
nit=nit+1;
x=xvect(nit); fx(nit)=eval(fun); f1x=eval(dfun);
if f1x == 0
fprintf(’ Annulation de la d´ eriv´ ee ’);
return
end;
x=x-m(nit)*fx(nit)/f1x;
xvect=[xvect;x]; fx=[fx;eval(fun)];
rd=err; err=abs(xvect(nit+1)-xvect(nit)); xdif=[xdif;err];
ra=err/rd; r=[r;ra]; diff=abs(r(nit+1)-r(nit));
if diff<1.e-3 & r(nit+1)>1.e-2
m(nit+1)=max(m(nit),1/abs(1-r(nit+1)));
else
m(nit+1)=m(nit);
end
end
return
6.7 R´ esolution des syst` emes d’´ equations non lin´ eaires
Nous abordons dans cette section la r´ esolution des syst` emes d’´ equations non
lin´ eaires. Plus pr´ ecis´ ement, nous consid´ erons le probl` eme suivant :
pour F : R
n
→ R
n , trouver x
∗
∈ R
n tel que F(x
∗ ) = 0.
(6.41)
Nous allons pour cela ´ etendre au cas de la dimension n > 1 certains des
algorithmes propos´ es dans les sections pr´ ec´ edentes.
Avant de traiter le probl` eme (6.41), introduisons quelques notations. Pour
k ≥ 0, nous noterons C
k (D) l’ensemble des fonctions k fois continˆ ument
diff´ erentiables de R
n dans R
n restreintes ` a D, o` u D ⊆ R
n sera pr´ ecis´ e dans
chaque cas. Nous supposerons toujours que F ∈ C
1 (D).
243
Programme 52 - adptnewt : M´ ethode de Newton adaptative
function [xvect,xdif,fx,nit]=adptnewt(x0,tol,nmax,fun,dfun)
%ADPTNEWT M´ ethode de Newton adaptative
% [XVECT,XDIF,FX,NIT]=ADPTNEWT(X0,TOL,NMAX,FUN,DFUN) tente de
% trouver un z´ ero de la fonction continue FUN en utilisant la m´ ethode
% adaptative de Newton, en partant de la donn´ ee initiale X0. FUN et DFUN acceptent
% 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.
xvect=x0;
nit=0; r=[1]; err=tol+1; m=[1]; xdif=[];
while nit
nit=nit+1;
x=xvect(nit); fx(nit)=eval(fun); f1x=eval(dfun);
if f1x == 0
fprintf(’ Annulation de la d´ eriv´ ee ’);
return
end;
x=x-m(nit)*fx(nit)/f1x;
xvect=[xvect;x]; fx=[fx;eval(fun)];
rd=err; err=abs(xvect(nit+1)-xvect(nit)); xdif=[xdif;err];
ra=err/rd; r=[r;ra]; diff=abs(r(nit+1)-r(nit));
if diff<1.e-3 & r(nit+1)>1.e-2
m(nit+1)=max(m(nit),1/abs(1-r(nit+1)));
else
m(nit+1)=m(nit);
end
end
return
6.7 R´ esolution des syst` emes d’´ equations non lin´ eaires
Nous abordons dans cette section la r´ esolution des syst` emes d’´ equations non
lin´ eaires. Plus pr´ ecis´ ement, nous consid´ erons le probl` eme suivant :
pour F : R
n
→ R
n , trouver x
∗
∈ R
n tel que F(x
∗ ) = 0.
(6.41)
Nous allons pour cela ´ etendre au cas de la dimension n > 1 certains des
algorithmes propos´ es dans les sections pr´ ec´ edentes.
Avant de traiter le probl` eme (6.41), introduisons quelques notations. Pour
k ≥ 0, nous noterons C
k (D) l’ensemble des fonctions k fois continˆ ument
diff´ erentiables de R
n dans R
n restreintes ` a D, o` u D ⊆ R
n sera pr´ ecis´ e dans
chaque cas. Nous supposerons toujours que F ∈ C
1 (D).
