Vous êtes sur la page 1sur 6

Université de Blida1 2023/2024

Faculté des sciences Physique Numérique


Département de Physique, L3 FZ.bedia@gmail.com/Dr. FZ. BEDIA

Chapitre IV : Résolution numérique des équations


différentielles ordinaires (EDO)

But : la résolution numérique du problème de Cauchy pour les équations différentielles


ordinaires (EDO).
𝑦 ′(𝑥) = 𝑓(𝑥, 𝑦)
{
𝑦(𝑥0) = 𝑦0
y0 : condition initiale ou condition de Cauchy.

Le problème de Cauchy est un problème d’évolution c.à.d à partir de la condition initiale on


peut calculer la solution à l’instant x :
𝑑𝑦
𝑦 ′(𝑥) = 𝑓(𝑥, 𝑦) → = 𝑓(𝑥, 𝑦)
𝑑𝑥
𝑦 𝑥 𝑥
→ ∫ 𝑑𝑦 = ∫ 𝑓(𝑥, 𝑦)𝑑𝑥 → 𝑦(𝑥) = 𝑦(𝑥0 ) + ∫ 𝑓(𝑥, 𝑦)𝑑𝑥
𝑦0 𝑥0 𝑥0

2- Méthodes numériques à un pas : les méthodes à pas séparés où chaque point de la


solution 𝑦�𝑛�+1 est calculé à partir de la solution en 𝑥�𝑛�.

2-1 Méthode d’Euler : méthode de tangente


2-1-1 Méthode d’Euler progressive (explicite) :
 Si on utilise la formule de quadrature du rectangle à gauche, i.e.
𝑥𝑛+1
∫ 𝑓(𝑥, 𝑦)𝑑𝑥 ≈ ℎ𝑓(𝑥𝑛 , 𝑦𝑛 )
𝑥𝑛

On obtient le schéma d’Euler progressif


𝑦 = 𝑦𝑛 + ℎ𝑓(𝑥𝑛 , 𝑦𝑛 )
{ 𝑛+1
𝑦(𝑥0) = 𝑦0
2-1-2 Méthode d’Euler rétrograde (implicite) :
 Si on utilise la formule de quadrature du rectangle à droite, i.e.
𝑥𝑛+1
∫ 𝑓(𝑥, 𝑦)𝑑𝑥 ≈ ℎ𝑓(𝑥𝑛+1 , 𝑦𝑛+1 )
𝑥𝑛

On obtient le schéma d’Euler rétrograde


𝑦 = 𝑦𝑛 + ℎ𝑓(𝑥𝑛+1 , 𝑦𝑛+1 )
{ 𝑛+1
𝑦(𝑥0) = 𝑦0
2-2 Méthode Runge-Kutta 2
 Si on utilise la formule de quadrature du Trapèze, i.e.
𝑥𝑛+1

∫ 𝑓(𝑥, 𝑦)𝑑𝑥 ≈ [𝑓(𝑥𝑛 , 𝑦𝑛 ) + 𝑓(𝑥𝑛+1 , 𝑦𝑛+1 )]
𝑥𝑛 2

1
Université de Blida1 2023/2024
Faculté des sciences Physique Numérique
Département de Physique, L3 FZ.bedia@gmail.com/Dr. FZ. BEDIA
on obtient l’algorithme de RK2 est
𝑘1 = 𝑓(𝑥𝑛 , 𝑦𝑛 )
𝒉 𝑘2 = 𝑓(𝑥𝑛+1 , 𝑦𝑛+1 )
𝒚𝒏+𝟏 = 𝒚𝒏 + 𝟐 (𝒌𝟏 + 𝒌𝟐 )
= 𝑓(𝑥𝑛 + ℎ, 𝑦𝑛 + ℎ𝑘1 )
{ 𝒚(𝒙𝟎) = 𝒚𝟎
Le terme 𝒚𝒏+𝟏 calculé par la méthode d’Euler.

2-3 Méthode Runge-Kutta 4


 Si on utilise la formule de quadrature du Simpson, i.e.
𝑥𝑛+1

∫ 𝑓(𝑥, 𝑦)𝑑𝑥 ≈ [𝑓(𝑥𝑛 , 𝑦𝑛 ) + 4𝑓 (𝑥𝑛+1 , 𝑦𝑛+1 ) + 𝑓(𝑥𝑛+1 , 𝑦𝑛+1 )]
𝑥𝑛 6 2 2

on obtient l’algorithme de RK4 est


𝑘1 = 𝑓(𝑥𝑛 , 𝑦𝑛 )
ℎ ℎ
𝑘2 = 𝑓(𝑥𝑛 + , 𝑦𝑛 + 𝑘1 )
𝒉 2 2
𝒚𝒏+𝟏 = 𝒚𝒏 + (𝒌 + 𝟐𝒌𝟐 + 𝟐𝒌𝟑 + 𝒌𝟒 )����������� ℎ ℎ
𝟔 𝟏 𝑘3 = 𝑓(𝑥𝑛 + , 𝑦𝑛 + 𝑘2 )
2 2
𝑘4 = 𝑓(𝑥𝑛 + ℎ, 𝑦𝑛 + ℎ𝑘3 )
{ 𝒚(𝒙𝟎) = 𝒚𝟎
Les termes 𝒚𝒏+𝟏 et 𝒚𝒏+𝟏 calculés par la méthode d’Euler.
𝟐

Exercice 1 : Dans cet exemple on s’intéresse à trouver la méthode la plus précise, pour cela
on compare la méthode d’Euler et celles de RK2 et RK4 pour un pas h=0.1 :
𝑦′(𝑥) = −𝑦2
EDO: {
𝑦(0) = 1
Avec la méthode d’Euler, La solution de ce système est :

𝑦𝑛+1 = 𝑦𝑛 + ℎ 𝑓(𝑥𝑛 , 𝑦𝑛 ) = 𝑦𝑛 − ℎ𝑦𝑛2

1ere itération : 𝑦1 = 𝑦0 + ℎ 𝑓(𝑥0 , 𝑦0 ) = 𝑦0 − ℎ𝑦02 = 1 − 0,1 × 12 = 0,90000

2ème itération : 𝑦2 = 𝑦1 + ℎ 𝑓(𝑥1 , 𝑦1 ) = 𝑦1 − ℎ𝑦12 = 0,9 − 0,1 × 0,92 = 0,81900


Avec la méthode de RK2, La solution de ce système est:

𝑘1 = 𝑓(𝑥𝑛 , 𝑦𝑛 ) = −𝑦𝑛2
ℎ 𝑘 = 𝑓(𝑥𝑛 + ℎ, 𝑦𝑛 + ℎ𝑘1 )
𝑦𝑛+1 = 𝑦𝑛 + (𝑘1 + 𝑘2 ) � 2
2 = 𝑓(𝑥𝑛 + ℎ, 𝑦𝑛 − ℎ𝑦𝑛2 )
{ 𝑦0 = 1
𝑘1 = 𝑓(𝑥0 , 𝑦0 ) = −𝑦02 = −1

1ere itération :𝑦1 = 𝑦0 + 2 (𝑘1 + 𝑘2 )=0,909750 {𝑘2 = 𝑓(𝑥0 + 0.1, 𝑦0 + 0.1 × −1)
= 𝑓(0.1, 0.9) = −0.92 = −0,81

2
Université de Blida1 2023/2024
Faculté des sciences Physique Numérique
Département de Physique, L3 FZ.bedia@gmail.com/Dr. FZ. BEDIA

2ème itération : 𝑦2 = 𝑦1 + + 2 (𝑘1 + 𝑘2 )=0.83434337
2
𝑘1 = 𝑓(𝑥1 , 𝑦1 ) = −𝑦12 = −0,909750 = −0,82764506
{ 𝑘2 = 𝑓(𝑥1 + 0.1, 𝑦1 + 0.1 × −0,82764506)
= 𝑓(0.1,0,82698549) = −0,68390500
Avec la méthode de RK4, La solution de ce système est:

𝑦𝑛+1 = 𝑦𝑛 + (𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4 )
6
𝑘1 = 𝑓(𝑥𝑛 , 𝑦𝑛 ) = −𝑦𝑛2
ℎ ℎ
𝑘2 = 𝑓 (𝑥𝑛 + , 𝑦𝑛 + 𝑘1 )
2 2
ℎ ℎ
𝑘3 = 𝑓 (𝑥𝑛 + , 𝑦𝑛 + 𝑘2 )
2 2
𝑘4 = 𝑓(𝑥𝑛 + ℎ, 𝑦𝑛 + ℎ𝑘3 )
{ 𝑦0 = 1

1ere itération : 𝑦1 = 𝑦0 + 6 (𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4 )= 0,90909119

𝑘1 = 𝑓(𝑥0 , 𝑦0 ) == −𝑦02 = −1
ℎ ℎ
𝑘2 = 𝑓 (𝑥0 + , 𝑦0 + 𝑘1 ) = 𝑓(0.05, 1 + 0.05 × −1) = 𝑓(0.05, 0.95)
2 2
ℎ ℎ
𝑘3 = 𝑓 (𝑥0 + , 𝑦0 + 𝑘2 ) = 𝑓(0,05, 1 − 0,05 × 0.9025)
2 2
{ 𝑘4 = 𝑓(𝑥0 + ℎ, 𝑦0 + ℎ𝑘3 ) = 𝑓(0.1,1 + 0.1 × −0,91178626)

𝑘1 = 𝑓(𝑥0 , 𝑦0 ) == −𝑦02 = −1
𝑘2 = 𝑓(0.05, 0.95) = −0.952 = −0.9025
𝑘3 = 𝑓(0.05,0,954875) = −0,91178626
{𝑘4 = 𝑓(0.1,0,908821374) = −0,82595628
Dans le tableau suivant, on donne une comparaison entre la solution exacte et la solution
numériques obtenues avec la méthode d’Euler et la méthode RK2 et RK4 pour un pas h=0.1.

3
Université de Blida1 2023/2024
Faculté des sciences Physique Numérique
Département de Physique, L3 FZ.bedia@gmail.com/Dr. FZ. BEDIA
Dans le tableau ci-dessous, on donne le pourcentage de l’erreur relative pour chaque
méthode

On remarque que l’erreur augmente dans la méthode d’Euler au fur et à mesure que i
augmente de même pour la méthode de Rk2 par contre elle diminue dans la méthode de RK4.
Il est donc généralement préférable d’utiliser des méthodes d’ordre aussi élevé que possible.

4-Méthodes à pas multiples : les méthodes à pas liés où la solution 𝑦𝑛+1 est calculé à
partir des solutions en 𝒙𝒏 , 𝒙𝒏−𝟏 ,… Il existe deux types de ces méthodes ; les méthodes ouvertes
et les méthodes fermées, elles sont basées sur le développement de Taylor.

4-1 Méthodes explicites d’Adams-Bashforth (AB): méthodes ouvertes

Le développement de Taylor de l’équation 𝒚′(𝒙) = 𝒇(𝒙, 𝒚) au point 𝑥𝑛+1 = 𝑥𝑛 + ℎ∶

ℎ2 ℎ3
𝑦𝑛+1 = 𝑦𝑛 + ℎ𝑦 ′ (𝑥𝑛 ) + 𝑦 ′′ (𝑥𝑛 )+ 3! 𝑦 ′′′ (𝑥𝑛 ) + ⋯
2!

ℎ2
= 𝑦𝑛 + ℎ𝑓(𝑥𝑛 , 𝑦𝑛 ) + 𝑓 ′′ (𝑥𝑛 , 𝑦𝑛 )+E
2!

ℎ2 𝑓(𝑥𝑛 , 𝑦𝑛 ) + 𝑓(𝑥𝑛−1 , 𝑦𝑛−1 )


= 𝑦𝑛 + ℎ𝑓(𝑥𝑛 , 𝑦𝑛 ) +
2 ℎ

 Méthode d’Adams-Bashforth à 2 pas (AB 𝒅′ 𝒐𝒓𝒅𝒓𝒆 𝟐):


𝒉
𝒚𝒏+𝟏 = 𝒚𝒏 + [𝟑𝒇(𝒙𝒏 , 𝒚𝒏 ) − 𝒇(𝒙𝒏−𝟏 , 𝒚𝒏−𝟏 )] 𝑨𝑩 𝒅′ 𝒐𝒓𝒅𝒓𝒆 𝟐
𝟐
𝒚𝟎 𝒅𝒐𝒏𝒏é 𝒆t 𝒚𝟏 𝒄𝒂𝒍𝒄𝒖𝒍é𝒆 𝒂𝒗𝒆𝒄 𝒖𝒏𝒆 𝒎é𝒕𝒉𝒐𝒅𝒆 à 𝒖𝒏 𝒑𝒂𝒔 (𝑬𝒖𝒍𝒆𝒓, 𝑹𝑲𝟐 … )

 Méthode d’Adams-Bashforth à 3 pas (AB 𝒅′ 𝒐𝒓𝒅𝒓𝒆 3):


𝒉
𝒚𝒏+𝟏 = 𝒚𝒏 + 𝟏𝟐 [𝟐𝟑𝒇(𝒙𝒏 , 𝒚𝒏 ) − 𝟏𝟔𝒇(𝒙𝒏−𝟏 , 𝒚𝒏−𝟏 ) + 𝟓𝒇(𝒙𝒏−𝟐 , 𝒚𝒏−𝟐 )] 𝑨𝑩 𝒅′ 𝒐𝒓𝒅𝒓𝒆 3

𝑦0 𝑑𝑜𝑛𝑛é
𝑦1 𝑒t 𝑦2 𝑐𝑎𝑙𝑐𝑢𝑙é𝑒𝑠 𝑎𝑣𝑒𝑐 𝑢𝑛𝑒 𝑚é𝑡ℎ𝑜𝑑𝑒 à 𝑢𝑛 𝑝𝑎𝑠 (𝐸𝑢𝑙𝑒𝑟, 𝑅𝐾2 … )

4
Université de Blida1 2023/2024
Faculté des sciences Physique Numérique
Département de Physique, L3 FZ.bedia@gmail.com/Dr. FZ. BEDIA

 Méthode d’Adams-Bashforth à 4 pas (AB 𝒅′ 𝒐𝒓𝒅𝒓𝒆 4):


𝒉
𝒚𝒏+𝟏 = 𝒚𝒏 + [𝟓𝟓𝒇(𝒙𝒏 , 𝒚𝒏 ) − 𝟓𝟗𝒇(𝒙𝒏−𝟏 , 𝒚𝒏−𝟏 ) + 𝟑𝟕𝒇(𝒙𝒏−𝟐 , 𝒚𝒏−𝟐 ) − 𝟗𝒇(𝒙𝒏−𝟑 , 𝒚𝒏−𝟑 )]
𝟐𝟒
𝒚𝟎 𝑑𝑜𝑛𝑛é

𝒚𝟏 , 𝒚𝟐 𝑒𝑡 𝒚𝟑 𝑐𝑎𝑙𝑐𝑢𝑙é𝑒𝑠 𝑎𝑣𝑒𝑐 𝑢𝑛𝑒 𝑚é𝑡ℎ𝑜𝑑𝑒 à 𝑢𝑛 𝑝𝑎𝑠 (𝐸𝑢𝑙𝑒𝑟, 𝑅𝐾2 … )


4-2 Méthodes implicites d’Adams-Moulton (AM): fermées

 Méthode d’Adams-Moulton (AM) à 1 pas (AM 𝒅′ 𝒐𝒓𝒅𝒓𝒆 𝟐):


(𝒌+𝟏) 𝒉 (𝒌)
𝒚𝒏+𝟏 = 𝒚𝒏 + [𝒇(𝒙𝒏 , 𝒚𝒏 ) + 𝒇(𝒙𝒏+𝟏 , 𝒚𝒏+𝟏 )]
𝟐
 Méthode d’Adams-Moulton (AM) à 2 pas (AM 𝒅′ 𝒐𝒓𝒅𝒓𝒆 3):
(𝒌+𝟏) 𝒉 (𝒌)
𝒚𝒏+𝟏 = 𝒚𝒏 + [𝟓𝒇(𝒙𝒏+𝟏 , 𝒚𝒏+𝟏 ) − 𝟖𝒇(𝒙𝒏 , 𝒚𝒏 ) − 𝒇(𝒙𝒏−𝟐 , 𝒚𝒏−𝟐 )]
𝟏𝟐
 Méthode d’Adams-Moulton (AM) à 3 pas (AM 𝒅′ 𝒐𝒓𝒅𝒓𝒆 4):
(𝒌+𝟏) 𝒉 (𝒌)
𝒚𝒏+𝟏 = 𝒚𝒏 + [𝟗𝒇(𝒙𝒏+𝟏 , 𝒚𝒏+𝟏 ) − 𝟏𝟗𝒇(𝒙𝒏 , 𝒚𝒏 ) − 𝟓𝒇(𝒙𝒏−𝟏 , 𝒚𝒏−𝟏 ) + 𝒇(𝒙𝒏−𝟐 , 𝒚𝒏−𝟐 )]
𝟐𝟒
Ces schémas sont implicites et leur ordre correspond au nombre de pas plus un.
4-3 Schéma prédicteur-correcteur
Principe : Il s'agit là d'une des méthodes les plus employées. Une méthode de prédiction-
correction procède en deux étapes à chacune des itérations :
(𝒌)
 Prédiction : on calcule une approximation 𝒚𝒏+𝟏 de notée 𝒚𝒏+𝟏 à l'aide du schéma
explicite
(𝒌+𝟏)
 Correction : on utilise le schéma implicite dans lequel les fonctions f utilisant 𝒚𝒏+𝟏
(𝒌)
sont remplacées par les fonctions f utilisant 𝒚𝒏+𝟏 :
Exemple :
Choisissons la méthode AB d’ordre 4 pour prédicteur et la méthode AM d’ordre 4 comme
correcteur.
Calcul à l'aide du prédicteur : AB
(𝒌) 𝒉
𝒚𝒏+𝟏 = 𝒚𝒏 + [𝟓𝟓𝒇(𝒙𝒏 , 𝒚𝒏 ) − 𝟓𝟗𝒇(𝒙𝒏−𝟏 , 𝒚𝒏−𝟏 ) + 𝟑𝟕𝒇(𝒙𝒏−𝟐 , 𝒚𝒏−𝟐 ) − 𝟗𝒇(𝒙𝒏−𝟑 , 𝒚𝒏−𝟑 )]
𝟐𝟒
Calcul à l'aide du correcteur : AM
(𝒌+𝟏) 𝒉 (𝒌)
𝒚𝒏+𝟏 = 𝒚𝒏 + [𝟗𝒇 (𝒙𝒏+𝟏 , 𝒚𝒏+𝟏 ) − 𝟏𝟗𝒇(𝒙𝒏 , 𝒚𝒏 ) − 𝟓𝒇(𝒙𝒏−𝟏 , 𝒚𝒏−𝟏 ) + 𝒇(𝒙𝒏−𝟐 , 𝒚𝒏−𝟐 )]
𝟐𝟒

5
Université de Blida1 2023/2024
Faculté des sciences Physique Numérique
Département de Physique, L3 FZ.bedia@gmail.com/Dr. FZ. BEDIA

Exercice 2 : Soit l’équation différentielle


𝒚′(𝒙) = −𝒚 + 𝒙 + 𝟏
{
𝒚(𝟎) = 𝟏 ; 𝒉 = 𝟎. 𝟏
Calculer la 1ère itération de la solution d’EDO par la méthode AB et AM
 Avec la méthode (AB), La solution de ce système est :
𝒉
𝒚𝒏+𝟏 = 𝒚𝒏 + [𝟑𝒇(𝒙𝒏 , 𝒚𝒏 ) − 𝒇(𝒙𝒏−𝟏 , 𝒚𝒏−𝟏 )] 𝑨𝑩 𝒅′ 𝒐𝒓𝒅𝒓𝒆 𝟐
𝟐
𝑦0 = 1 𝑒t 𝑦1 𝑐𝑎𝑙𝑐𝑢𝑙é𝑒 𝑎𝑣𝑒𝑐 𝑢𝑛𝑒 𝑚é𝑡ℎ𝑜𝑑𝑒 à 𝑢𝑛 𝑝𝑎𝑠 (𝐸𝑢𝑙𝑒𝑟, 𝑅𝐾2 … )
𝑦1 = 𝑦0 + ℎ 𝑓(𝑥0 , 𝑦0 ) = 𝑦0 + ℎ(−𝑦0 + 𝑥0 + 1) = 1 − 0,1 × (−1 + 0 + 1) = 1 par Euler

1ère itération :
ℎ 0.1
𝑦2 = 𝑦1 + [3𝑓(𝑥1 , 𝑦1 ) − 𝑓(𝑥0 , 𝑦0 )] = 1 + [3(−1 + 0.1 + 1) − (−1 + 0 + 1)] = 1.015
2 2
 Avec la méthode (AM), la solution de ce système est :
(𝒌+𝟏) 𝒉 (𝒌)
𝒚𝒏+𝟏 = 𝒚𝒏 + [𝒇(𝒙𝒏 , 𝒚𝒏 ) + 𝒇(𝒙𝒏+𝟏 , 𝒚𝒏+𝟏 )]
𝟐
(0)
yn+1 est dite le prédicteur, calculé avec une méthode à un pas (Euler, RK2 … )
(𝑘+1)
𝑦𝑛+1 sont appelés les correcteurs, calculés par la méthode d’Adams-Moulton
(0)
𝑦0 =1
(0)
𝑦1 = 𝑦0 + ℎ 𝑓(𝑥0 , 𝑦0 ) = 𝑦0 + ℎ(−𝑦0 + 𝑥0 + 1) = 1 − 0,1 × (−1 + 0 + 1) = 1 par Euler
On itère le correcteur une seule fois :
1ère itération: : n=0; k=0
(1) ℎ (0) 0.1
𝑦1 = 𝑦0 + [𝑓(𝑥0 , 𝑦0 ) + 𝑓(𝑥1 , 𝑦1 )] = 1 + [(−1 + 0 + 1) + (−1 + 0.1 + 1)] = 1.005
2 2

Vous aimerez peut-être aussi