Résolution des systèmes d`équations non-linéaires

publicité
Chapitre V
Résolution des systèmes d’équations non-linéaires
V.1 Introduction :
Un problème qui apparait fréquemment dans le calcul numérique est la détermination
simultanée de quelque ou tout les racines d’un ensemble d’équations non linéaires. Tel
problème est généralement plus compliqué que dans le cas d’une seule équation.
Exemple :soit le système de deux équations suivant :
𝑥𝑥 2 + 𝑦𝑦 2 = 4
𝑒𝑒 𝑥𝑥 + 𝑦𝑦 = 1
Dont la représentation graphique est donné par la figure( V.1)
Pour ce système il est clair qu’il accepte deux solutions distinctes alors que pour d’autre
système une étude plus détaillé sera nécessaire pour déterminer le nombre de solutions.
Un système général de n équations à n inconnus x1, . . . , xn peut se mètre sous la forme
𝑓𝑓𝑖𝑖 (𝑥𝑥1 , 𝑥𝑥2 , . . , 𝑥𝑥𝑛𝑛 ) = 0, i=1,..,n
Avec f1,…,fn, sont des fonctions à n variables, ou sous la forme vectorielles 𝐹𝐹(𝑋𝑋) = 0
Le point de départ pour ce type de problème est la généralisation des méthodes de résolution
d’une équation non-linéaire (n=1) au système d’équations (n>1), mais par exemple il est
difficile ou impossible de généraliser tout les techniques (méthode de bissection et sécante), la
méthode de Newton, par contre, admet bien la généralisation.
V.2. Méthode de résolution :
V.2.1 Point fixe (à plusieurs variables)
Nous pouvons adapter la méthode de point fixe utilisé pour la résolution d’une équation non
linéaire à un système d’équations non linéaire :
𝐹𝐹(𝑋𝑋) = 0 :
𝑓𝑓1 (𝑥𝑥1 , 𝑥𝑥2 , . . , 𝑥𝑥𝑛𝑛 ) = 0
𝑓𝑓2 (𝑥𝑥1 , 𝑥𝑥2 , . . , 𝑥𝑥𝑛𝑛 ) = 0
…………………..
𝑓𝑓𝑛𝑛 (𝑥𝑥1 , 𝑥𝑥2 , . . , 𝑥𝑥𝑛𝑛 ) = 0
Par extraction d’une seule variable d’une des équations de façon à obtenir les schémas
suivants :
28
Chapitre V
Résolution des systèmes d’équations non-linéaires
𝑋𝑋 = 𝐺𝐺(𝑋𝑋)
𝑥𝑥1 = 𝐺𝐺1 (𝑥𝑥1 , 𝑥𝑥2 , . . , 𝑥𝑥𝑛𝑛 )
𝑥𝑥2 = 𝐺𝐺2 (𝑥𝑥1 , 𝑥𝑥2 , . . , 𝑥𝑥𝑛𝑛 )
…………………..
𝑥𝑥𝑛𝑛 = 𝐺𝐺𝑛𝑛 (𝑥𝑥1 , 𝑥𝑥2 , . . , 𝑥𝑥𝑛𝑛 )
Il faut noter qu’il n’est pas obligatoire d’extraire la première variable de la première
équation mais nous avons une multitude de combinaisons possibles. Le chois du schéma
obtenu est régi par la condition de convergence.
Ensuite on passe au schéma de récurrence suivant :
𝑋𝑋 𝑘𝑘+1 = 𝐺𝐺(𝑋𝑋 𝑘𝑘 )
𝑥𝑥1𝑘𝑘+1 = 𝐺𝐺1 �𝑥𝑥1𝑘𝑘 , 𝑥𝑥2𝑘𝑘 , … , 𝑥𝑥𝑛𝑛𝑘𝑘 �
𝑥𝑥2𝑘𝑘+1 = 𝐺𝐺2 �𝑥𝑥1𝑘𝑘 , 𝑥𝑥2𝑘𝑘 , … , 𝑥𝑥𝑛𝑛𝑘𝑘 �
………………………..
𝑥𝑥𝑛𝑛𝑘𝑘+1 = 𝐺𝐺𝑛𝑛 �𝑥𝑥1𝑘𝑘 , 𝑥𝑥2𝑘𝑘 , … , 𝑥𝑥𝑛𝑛𝑘𝑘 �
𝑥𝑥10
Avec : 𝑋𝑋 � … � connue ou donné.
𝑥𝑥𝑛𝑛0
0
Pour amélioré la convergence, on remarque qu’il est possible d’obtenir une autre
configuration basé sur l’utilisation des nouvelles valeurs de xi lorsqu’on calcule xj dans le cas
ou j>i c’est-à-dire :
𝑋𝑋 𝑘𝑘+1 = 𝐺𝐺(𝑋𝑋 𝑘𝑘 , 𝑋𝑋 𝑘𝑘+1 )
𝑥𝑥1𝑘𝑘+1 = 𝐺𝐺1 �𝑥𝑥1𝑘𝑘 , 𝑥𝑥2𝑘𝑘 , … , 𝑥𝑥𝑛𝑛𝑘𝑘 �
𝑥𝑥2𝑘𝑘+1 = 𝐺𝐺2 �𝑥𝑥1𝑘𝑘+1 , 𝑥𝑥2𝑘𝑘 , … , 𝑥𝑥𝑛𝑛𝑘𝑘 �
𝑥𝑥3𝑘𝑘+1 = 𝐺𝐺3 �𝑥𝑥1𝑘𝑘+1 , 𝑥𝑥2𝑘𝑘+1 , … , 𝑥𝑥𝑛𝑛𝑘𝑘 �
………………………..
𝑘𝑘+1 𝑘𝑘
𝑥𝑥𝑛𝑛𝑘𝑘+1 = 𝐺𝐺𝑛𝑛 �𝑥𝑥1𝑘𝑘+1 , 𝑥𝑥2𝑘𝑘+1 , … , 𝑥𝑥𝑛𝑛−1
, 𝑥𝑥𝑛𝑛 �
Exemple :
𝑥𝑥 2 + 𝑦𝑦 2 = 4
𝑒𝑒 𝑥𝑥 + 𝑦𝑦 = 1
𝑥𝑥0
−2
�𝑦𝑦 � = � �
0
1
Solution :
On maitre le système précédant sous la forme suivante :
2
𝑘𝑘+1
�
𝑥𝑥 𝑘𝑘+1
� 𝑘𝑘+1 � = �− 4 − �𝑦𝑦 � �
𝑦𝑦
𝑘𝑘
1 − 𝑒𝑒 𝑥𝑥
𝑥𝑥0
−2
Et pour une solution initiale : �𝑦𝑦 � = � �
0
1
Nous obtenant les résultats suivants :
k
x
y
1 -1.732051
0.8646647
2 -1.803429
0.8230788
29
Chapitre V
Résolution des systèmes d’équations non-linéaires
3 -1.822784
0.8352669
4 -1.817231
0.8384247
5 -1.815776
0.8375250
6 -1.816192
0.8372885
7 -1.816301
0.8373560
8 -1.816270
0.8373737
9 -1.816261
0.8373687
10 -1.816264
0.8373674
Si on utilise le deuxième schéma on obtient une convergence plus rapide
k
x
y
1 -1.732051
0.8230788
2 -1.822784
0.8384247
3 -1.815776
0.8372885
4 -1.816301
0.8373737
5 -1.816261
0.8373674
6 -1.816264
0.8373678
V.2.1.2.Critère de convergence:
Pour obtenir la convergence d’un schéma à point fixe dans le cas d’une seule équation non
𝑑𝑑𝑑𝑑
linéaire (n=1) la valeur absolue de la dérivée de G doit être inférieure à l’unité � � < 1, alors
𝑑𝑑𝑑𝑑
dans le cas ou n>1 la condition de convergence est étendue au système de condition suivant :
𝜕𝜕𝐺𝐺2
𝜕𝜕𝐺𝐺1
�+�
�
𝜕𝜕𝑥𝑥 1
𝜕𝜕𝐺𝐺2
𝜕𝜕𝑥𝑥 1
𝜕𝜕𝐺𝐺1
�
𝜕𝜕𝑥𝑥 2
�+�
𝜕𝜕𝑥𝑥 2
𝜕𝜕𝐺𝐺𝑛𝑛
�+ ⋯+ �
𝜕𝜕𝑥𝑥 1
𝜕𝜕𝐺𝐺𝑛𝑛
�+ ⋯+ �
𝜕𝜕𝑥𝑥 2
………………………..
�
𝜕𝜕𝐺𝐺1
𝜕𝜕𝑥𝑥 𝑛𝑛
�+�
𝜕𝜕𝐺𝐺2
𝜕𝜕𝑥𝑥 𝑛𝑛
� < 1 et
� < 1 et
𝜕𝜕𝐺𝐺𝑛𝑛
� + ⋯+ �
𝜕𝜕𝑥𝑥 𝑛𝑛
�<1
Exemple : Tester cette condition sur le système précédant.
Algorithme
Début
Lire X0 , e
Faire tans que |∆𝑋𝑋| > 𝜀𝜀
𝑋𝑋 𝑘𝑘+1 = 𝐺𝐺(𝑋𝑋 𝑘𝑘 )
Fin tans que
Début
Lire X0 , e
Faire tans que |∆𝑋𝑋| > 𝜀𝜀
𝑋𝑋 𝑘𝑘+1 = 𝐺𝐺(𝑋𝑋 𝑘𝑘 , 𝑋𝑋 𝑘𝑘+1 )
Fin tans que
30
Chapitre V
Résolution des systèmes d’équations non-linéaires
V.2.2 Méthode de Newton
La méthode de Newton pour un système d’équation non linéaire consiste à généraliser la
méthode vue pour une seule équation et en prenant en considération l’effet dimensionnel.
Soit le système d’équation suivant :
𝑓𝑓1 (𝑥𝑥, 𝑦𝑦) = 0
𝑓𝑓2 (𝑥𝑥, 𝑦𝑦) = 0
A partir d’un couple de valeurs approchées (x1,y1) d’une solution du système, on peut
déterminer deux accroissements h et k à donner à x1 et y1 de manière à ce que :
𝑓𝑓1 (𝑥𝑥1 + ℎ, 𝑦𝑦1 + 𝑘𝑘) = 0
𝑓𝑓2 (𝑥𝑥1 + ℎ, 𝑦𝑦1 + 𝑘𝑘) = 0
En utilisant un développement de premier ordre on obtient :
𝑓𝑓1 (𝑥𝑥1 + ℎ, 𝑦𝑦1 + 𝑘𝑘) = 𝑓𝑓1 (𝑥𝑥1 , 𝑦𝑦1 ) + +ℎ. 𝑓𝑓1 ′ (𝑥𝑥1 ) + 𝑘𝑘. 𝑓𝑓1 ′ (𝑥𝑥1 ) = 0
𝑓𝑓2 (𝑥𝑥1 + ℎ, 𝑦𝑦1 + 𝑘𝑘) = 𝑓𝑓2 (𝑥𝑥1 , 𝑦𝑦1 ) + +ℎ. 𝑓𝑓2 ′ (𝑥𝑥1 ) + 𝑘𝑘. 𝑓𝑓2 ′ (𝑥𝑥1 )=0
Avec :
𝑓𝑓1 ′ (𝑥𝑥1 ) =
𝑓𝑓2 ′ (𝑥𝑥1 ) =
𝜕𝜕𝑓𝑓1 (𝑥𝑥,𝑦𝑦)
𝜕𝜕𝜕𝜕
�
𝜕𝜕𝑓𝑓2 (𝑥𝑥,𝑦𝑦)
𝜕𝜕𝜕𝜕
𝑥𝑥=𝑥𝑥1
�
𝑥𝑥=𝑥𝑥1
, 𝑓𝑓1 ′ (𝑦𝑦1 ) =
, 𝑓𝑓2 ′ (𝑦𝑦1 ) =
𝜕𝜕𝑓𝑓1 (𝑥𝑥,𝑦𝑦)
𝜕𝜕𝜕𝜕
�
𝜕𝜕𝑓𝑓2 (𝑥𝑥,𝑦𝑦)
𝜕𝜕𝜕𝜕
𝑦𝑦=𝑦𝑦1
�
𝑦𝑦=𝑦𝑦1
,
,
Les quantités h et k sont déterminé alors par la résolution du système d’équations linéaires
suivant :
𝜕𝜕𝑓𝑓1 𝜕𝜕𝑓𝑓1
⎤
⎡
⎢ 𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕 ⎥ �ℎ1 � = �−𝑓𝑓1 (𝑥𝑥1 , 𝑦𝑦1 )�
⎢𝜕𝜕𝑓𝑓2 𝜕𝜕𝑓𝑓2 ⎥ 𝑘𝑘1
−𝑓𝑓2 (𝑥𝑥1 , 𝑦𝑦1 )
⎥
⎢
⎣ 𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕 ⎦
La matrice 𝐽𝐽 =
𝜕𝜕𝑓𝑓1
𝜕𝜕𝑓𝑓1
𝜕𝜕𝜕𝜕
𝜕𝜕𝜕𝜕
𝜕𝜕𝜕𝜕
�𝜕𝜕𝑓𝑓
2
𝜕𝜕𝜕𝜕
�est
𝜕𝜕𝑓𝑓2
appelé Jacobiènnes du système.
Les nouvelles valeur de x et y notés (x2,y2) sont donné par :
x2= x1+h1
y2=y1+k1
Le calcul est alors relancé avec le nouveau couple (x2,y2) affin d’approximer le couple (x3,y3)
et le processus sera répéter jusqu’à ce que hi et ki deviennent inférieures à une valeur e que
l’on se donne (selon la précision voulue pour le calcul). Ainsi, l’algorithme correspondant est
Algorithme
Début
Lire X0 , e
Faire tans que |∆𝑋𝑋| > 𝜀𝜀
Définir [𝐽𝐽]
Δ𝑋𝑋 = [𝐽𝐽−1 ]. [−𝐹𝐹(𝑋𝑋)]
𝑋𝑋𝑖𝑖+1 = 𝑋𝑋𝑖𝑖 + Δ𝑋𝑋
Fin tans que
Exemple :
Soit le système suivant dont les solutions sont représentées sur la figure 1 :
31
Chapitre V
Résolution des systèmes d’équations non-linéaires
x2+y2=2.0
x2-y2=1.0
3
Analytiquement on peut obtenir les solutions suivantes : 𝑥𝑥 = ±� , 𝑦𝑦 = ±
2
√2
2
𝑓𝑓1 (𝑥𝑥, 𝑦𝑦) = 𝑥𝑥 2 + 𝑦𝑦 2 − 2
𝑓𝑓2 (𝑥𝑥, 𝑦𝑦) = 𝑥𝑥 2 − 𝑦𝑦 2 − 1
𝜕𝜕𝑓𝑓1
𝜕𝜕𝜕𝜕
𝜕𝜕𝑓𝑓2
𝜕𝜕𝜕𝜕
= 2𝑥𝑥,
= 2𝑥𝑥,
𝜕𝜕𝑓𝑓1
𝜕𝜕𝜕𝜕
𝜕𝜕𝑓𝑓2
𝜕𝜕𝜕𝜕
Donc 𝐽𝐽 = �
= 2𝑦𝑦
= −2𝑦𝑦
2𝑥𝑥
2𝑥𝑥
2𝑦𝑦 −𝑓𝑓1 (𝑥𝑥, 𝑦𝑦)
−𝑥𝑥 2 − 𝑦𝑦 2 + 2
�,�
�=� 2
�
−2𝑦𝑦 −𝑓𝑓2 (𝑥𝑥, 𝑦𝑦)
−𝑥𝑥 + 𝑦𝑦 2 + 1
En utilisant la méthode de Newton et en partant du couple (1,1) on obtient :
n=1 :
−𝑓𝑓 (𝑥𝑥, 𝑦𝑦)
2 2
0
𝐽𝐽 = �
�, � 1
�=� �
2 −2 −𝑓𝑓2 (𝑥𝑥, 𝑦𝑦)
1
Donc
1/4
Δ𝑋𝑋 = [𝐽𝐽−1 ]. [−𝐹𝐹(𝑋𝑋)] = �
� donc x=1.25,y=0.75
−1/4
Et en répétant le processus en obtient le tableau suivant :
x1
x2
∆x1
∆x2
1.000000
1.000000
0.2500000 -0.2500000
1.250000
0.7500000 -2.5000000E-02 -4.1666668E-02
1.225000
0.7083333 -2.5512589E-04 -1.2254703E-03
1.224745
0.7071078 -4.4570623E-08 -1.0607812E-06
En utilisant le couple (-1,1) on obtient :
x1
x2
∆x1
∆x2
-1.000000
1.000000 -0.2500000
-0.2500000
-1.250000
0.7500000
2.5000000E-02
-4.1666668E-02
-1.225000
0.7083333
2.5512589E-04
-1.2254703E-03
-1.224745
0.7071078
4.4570623E-08
-1.0607812E-06
-1.224745
0.7071068
4.4570626E-08
1.2101619E-08
32
Téléchargement