54
2 Equations non linéaires
2.3.2 Méthode de Newton pour des systèmes d’équations
Considérons un système d’équations non linéaires de la forme
⎧
⎪ ⎪ ⎪ ⎪ ⎪ ⎨
⎪ ⎪ ⎪ ⎪ ⎪ ⎩
f 1 (x 1 , x 2 , . . . , x n ) = 0,
f 2 (x 1 , x 2 , . . . , x n ) = 0,
. . .
f n (x 1 , x 2 , . . . , x n ) = 0,
(2.13)
où f 1 , . . . , f n sont des fonctions non linéaires. En posant f = (f 1 , . . . , f n )
T
et x = (x 1 , . . . , x n )
T , le système (2.13) peut s’écrire sous la forme compacte
f (x) = 0.
(2.14)
Voici un exemple de système non linéaire
f 1 (x 1 , x 2 ) = x
2
1 + x
2
2 = 1,
f 2 (x 1 , x 2 ) = sin(πx 1 /2) + x
3
2 = 0.
(2.15)
Pour étendre la méthode de Newton au cas d’un système, on remplace
la dérivée de la fonction scalaire f par la matrice jacobienne J f de la
fonction vectorielle f dont les coefficients sont, par définition,
(J f ) ij =
∂f i
∂x j
,
i,j = 1, . . . , n.
Le symbole ∂f i /∂x j représente la dérivée partielle de f i par rapport
à x j (voir définition (8.3)). Avec ces notations, la méthode de Newton
(2.14) s’écrit alors : étant donné x
(0)
∈ R
n , pour k = 0, 1, . . ., jusqu’à
convergence
résoudre J f (x
(k) )δx
(k) = −f (x
(k) );
poser
x
(k+1) = x
(k) + δx
(k)
(2.16)
Ainsi, la méthode de Newton appliquée à un système requiert à chaque
itération la résolution d’un système linéaire de matrice J f (x
(k) ).
Le Programme 2.3 implémente cet algorithme en utilisant la commande MATLAB \ (voir Section 5.8) pour résoudre le système linéaire
associé à la matrice jacobienne. En entrée, on doit fournir un vecteur colonne x0 définissant la donnée initiale et deux fonctions, Ffun et Jfun, qui
calculent respectivement le vecteur colonne F contenant les évaluations
de f pour un vecteur arbitraire x et la matrice jacobienne J f , également
évaluée pour un vecteur arbitraire x. On arrête le calcul quand la norme
euclidienne de la différence entre deux itérées successives est plus petite
que tol ou quand le nombre maximal d’itérations nmax est atteint.
Précédent

- 66/374

Suivant