Vous êtes sur la page 1sur 19

Polycopié de cours

Résolution numérique des EDO

3ème année ENSAM (2019-2020)

Université Moulay Ismail

Mohamed Berrada Mustapha El Ossmani Abdelkader Fassi Fihri

ENSAM de Meknès
Université Moulay Ismail

M . BERRADA @ ENSAM . UMI . AC . MA M . ELOSSMANI @ ENSAM . UMI . AC . MA A . FASSIFIHRI @ ENSAM . UMI . AC . MA


Contents

1 Résolution numérique des EDO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5


1.1 Introduction 5
1.2 Définitions 5
1.2.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.2 Classification des EDOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.3 Splitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Problème de Cauchy 7
1.4 Schémas numériques à un pas 8
1.4.1 Principe général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4.2 Méthodes d’Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5 Analyse de la méthode d’Euler 11
1.5.1 Erreur locale et erreur globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5.2 Consistance et ordre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5.3 Stabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.6 Schéma de Heun : schéma prédicteur/correcteur 14
1.7 Schémas de Runge-Kutta 15
1.7.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.7.2 Schéma de Runge-Kutta d’ordre 2 (RK2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.7.3 Schéma de Runge-Kutta d’ordre 3 (RK3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.7.4 Schéma de Runge-Kutta d’ordre 4 (RK4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.8 Schémas numériques à pas liés 17
1.8.1 Principe général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.8.2 Méthodes d’ADAMS-BASHFORTH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.8.3 Méthodes d’ADAMS-MOULTON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1. Résolution numérique des EDO

1.1 Introduction
On s’intéresse ici à des problèmes physiques où l’inconnue est une fonction :
• Chute libre : Trouver la vitesse v(t) satisfaisant
mv0 (t) = mg − kv(t)2 ∀t
• Pendule : Trouver l’angle θ (t) satisfaisant
ml θ 00 (t) = −mg sin θ (t) − lc f θ 0 (t) ∀t
• Masse-ressort : Trouver le déplacement x(t) satisfaisant
x00 (t) + cx0 (t) + ω 2 x(t) = 0 ∀t
• Croissance de population : Trouver le nombre d’individus N(t)
N 0 (t) = (n1 − m1 N(t))N(t) ∀t

1.2 Définitions et classification


1.2.1 Définitions
Définition 1.2.1 Une équation differentielle ordinaire (EDO) d’ordre n, est une équation mettant
en jeu une fonction u(t) : [a, b] ⊂ R → Rm ainsi que ses dérivées jusqu’à l’ordre n :
 
F t, u, u0 , · · · , u(n) = 0,

où u = u(t) est une fonction inconnue, u0 , · · · , u(n) désignent les dérivées successives de u et F
est une fonction donnée.
 Exemple 1.1 • Ordre 1 : u0 (t) = tu(t) alors F(t, u, u0 ) = u0 (t) − tu(t).
• Ordre 2 : u00 (x)
= u0 (x) − u(x) alors F(x, u, u0 , u00 ) = u00 (x) − u0 (x) + u(x).

6 Chapter 1. Résolution numérique des EDO

1.2.2 Classification des EDOs


• Equation différentielle ordinaire linéaire

a0 (t)u + a1 (t)u0 + · · · + an (t)u(n) = b(t)

Si b(t) = 0, on dit que l’EDO linéaire est homogène.


• Equation différentielle ordinaire linéaire à coefficients constants

a0 u + a1 u0 + · · · + an u(n) = b

les nombres a0 , · · · , an , b sont des constantes.


• Equation différentielle ordinaire non linéaire
1
u + 1+u 02 = 0
00
5u + sin(u) = 0

l’équation est non linéaire au moins en u ou en l’une de ses dérivées.

1.2.3 Splitting
La forme la plus simple (EDO d’ordre 1)

du
= f (t, u)
dt

qui sera considérée par la suite...


Pour l’étude théorique, on se ramène en général à une EDO d’odre 1,on pose

u1 = u, u2 = u0 , · · · , un = u(n−1)

 Exemple 1.2 1) u − u0 + u00 = t + 1


On prend u1 = u, u2 = u0 et on écrit

u01 = u2


u02 = u2 − u1 + t + 1

ce qui revient à écrire


 0     
u1 0 1 u1 0
= +
u2 −1 1 u2 t +1

2) équation du pendule

00 g
θ (t) = − sin θ (t),

 L
θ (0) = θ0 , (1.2.1)

 0

θ (0) = θ1 .

Cette équation différentielle d’ordre 2 se ramène à un système d’ordre 1 en posant y1 (t) = θ (t) et
y2 (t) = θ 0 (t). En effet :
g g
y01 (t) = θ 0 (t) et y02 (t) = θ 00 (t) = − sin θ (t) = − sin y1 (t).
L L
1.3 Problème de Cauchy 7

   
y1 (t) y2 (t)
On note Y (t) = et F(t,Y (t)) = ,
y2 (t) − Lg sin y1 (t)
alors l’équation (1.2.1) est équivalente à
 0
 Y (t) = F(t,Y (t),
θ0 (1.2.2)
 Y (0) = .
θ1


1.3 Problème de Cauchy


Définition 1.3.1 Un problème de Cauchy est un problème qui s’écrit sous la forme
( du
= f (t, u), t ∈ [t0 , T ]
dt
u(t0 ) = u0

où u0 ∈ Rm et f : [t0 , T ] × Rm → Rm .

• La forme intégrale du problème de Cauchy


Z t
u(t) = u0 + f (s, u(s))ds
t0

on dit alors que le problème de Cauchy est un problème d’évolution, c’est à dire à partir de
la condition initiale, on peut calculer la solution à l’instant t.
• Si f est continue, alors la solution u est de classe C 1 .
Définition 1.3.2 On dit que la fonction f (t, u) est lipschitzienne par rapport à u uniformement
en t s’il existe L > 0 telle que

∀x, x∗ ∈ Rm , ∀t ∈ [t0 , T ], || f (t, x) − f (t, x∗ )|| ≤ L||x − x∗ ||.

La constante L est dite constante de Lipschitz de f .

Théorème 1.3.1 Théorème de Cauchy-Lipschitz Si la fonction f vérifie les deux hypothèses


f est continue sur [a, b] × Rm ;
2. f est lipschitzienne par rapport à u uniformement en t
1.
Alors le problème de Cauchy admet une solution unique de classe C1 .

 Exemple 1.3 1. Le problème du pendule satisfait les hypothèses du Théorème de Cauchy.


En effet : la fonction F de (1.2.2) vérifie pour tous Y et Z de R2 :
• |F1 (Y ) − F1 (Z)| = |y2 − z2 | ≤ kY − Zk,
• |F2 (Y ) − F2 (Z)| = ω 2 |sin(y1 ) − sin(z1 )| ≤ ω 2 kY − Zk, puisque
y1 − z1 y1 + z1
|sin(y1 ) − sin(z1 )| = 2|sin( )cos( )| ≤ |y1 − z1 | ≤ kY − Zk.
2 2
Donc il admet une solution unique. Cependant, on ne peut pas expliciter sa solution
à l’aide de fonctions usuelles. Cette solution peut s’exprimer à l’aide d’une fonction
spéciale appelée fonction “sinus amplitude” de Jacobi, mais c’est beaucoup plus
compliqué que de rechercher une approximation numérique de la solution en utilisant
une des méthodes que nous allons exposer dans ce cours.
8 Chapter 1. Résolution numérique des EDO

u0 (t) = u(t)1/2 , t ∈ [0, 1],



2. Le problème ne satisfait pas les hypothèses du Théorème de
u(0) = u0 ,
Cauchy. Il admet au moins deux solutions distinctes u1 (t) = 0 et u2 (t) = (t/2)2 .


1.4 Schémas numériques à un pas


1.4.1 Principe général
• On choisit une grille de discrétisation de l’intervalle [t0 , T ] :
tn = t0 + nh, 0 ≤ n ≤ N et h = tn+1 − tn = T −t 0
N le pas
• Le but est d’approcher la solution u aux points de la grille
• On integre la forme différentielle entre deux points successifs tn et tn+1
Z tn+1
u(tn+1 ) = u(tn ) + f (s, u(s))ds
tn

• La forme générale d’un schéma à un pas (ou à pas séparé)

un+1 = un + hφ (tn , un ; h) , (∗)


où φ ne dépend que de f et est appelée fonction incrément
• Le choix de φ détermine le schéma

1.4.2 Méthodes d’Euler


• Le schéma d’Euler
R tn+1
explicite (ordre 1)
L’intégrale tn f (s, u(s))ds est approchée par la méthode des rectangles à gauche :
Z tn+1
f (t, u(t))dt ≈ h f (tn , u(tn )),
tn

on obtient
un+1 = un + h f (tn , un ), 0 ≤ n < N, u0 = η donnée
où h = tn+1 − tn est le pas.
Exemple : f (t, u) = αu alors un+1 = un (1 + αh)
• Le schéma d’Euler
R tn+1
implicite (ordre 1)
L’intégrale tn f (s, u(s))ds est approchée par la méthode des rectangles à droite :
Z tn+1
f (t, u(t))dt ≈ h f (tn+1 , u(tn+1 )),
tn

on obtient
un+1 = un + h f (tn+1 , un+1 ), u0 = η donnée
un
Exemple : f (t, u) = αu alors un+1 = 1−αh
• Le schéma de Cranck-Nicholson semi-implicite (ordre 2)
R tn+1
L’intégrale tn f (s, u(s))ds est approchée par la méthode des trapèzes
Z tn+1
h
f (t, u(t))dt ≈ ( f (tn , u(tn )) + f (tn+1 , u(tn+1 ))),
tn 2
on obtient
f (tn , un ) + f (tn+1 , un+1 )
un+1 = un + h , u0 = η donnée
2
1+αh/2
Exemple : f (t, u) = αu alors un+1 = 1−αh/2 un
1.4 Schémas numériques à un pas 9

Figure 1.4.1: Les méthodes d’Euler pour le problème (1.4.1)

• Le schéma d’Euler
R tn+1
modifié (point milieu) (ordre 2)
L’intégrale tn f (s, u(s))ds est approchée par la méthode du point milieu
Z tn+1
h h
f (t, u(t))dt ≈ h f (tn + , u(tn + ))),
tn 2 2

Pour donner une approximation de la solution au point tn + h2 , on utilise le schéma d’Euler


explicite : u(tn + h2 ) ≈ u(tn ) + 2h f (tn , u(tn )), ce qui donne le schéma d’Euler modifié :

h h
un+1 = un + h f (tn + , un + f (tn , un )), u0 = η donnée
2 2

On peut écrire 
 k1 = f (tn , un )
k = f (tn + h2 , un + h2 k1 )
 2
un+1 = un + hk2

 Exemple 1.4 Une mise en oeuvre réussie Le problème

u0 (t) = u(t), t ∈ [0, 1],



(1.4.1)
u(0) = 1,

admet comme unique solution u(t) = et .


La méthode d’Euler explicite consiste à calculer, pour n ≥ 0,

un+1 = un + hun
= (1 + h)un .

Partons de u0 = 1, on obtient un+1 = (1 + h)n . Avec h = N1 , on retrouve pour uN une valeur


1
approchée de u(1) = e, puisque lim uN = lim (1 + )N = e.
N→∞ N→∞ N
La méthode implicite fournit quant à elle uN = (1−11 )N qui converge également vers e lorsque N
N
tend vers l’infini.
10 Chapter 1. Résolution numérique des EDO

En fait, ces comportements s’expliquent par un développement limité :


( 1
uN,exp = eN ln(1+ N ) = e(1 − 2N 1
+ O( N12 )),
1 (1.4.2)
uN,imp = e−N ln(1− N ) = e(1 + 2N 1
+ O( N12 )).
Cette estimation est confortée par les valeurs données dans le tableau suivant, où eN désigne l’erreur
absolue au point t = 1 pour chacune des méthodes.
Euler Explicite Euler Implicite
eN eN
N eN h eN h
10 0.1245 1.2454 0.1497 1.4969
25 0.0524 1.3111 0.0564 1.4110
50 0.0267 1.3347 0.0277 1.3845
100 0.0135 1.3468 0.0137 1.3717
250 0.0054 1.3542 0.0055 1.3641
500 0.0027 1.3567 0.0027 1.3616
1000 0.0014 1.3579 0.0014 1.3604
eN e
Les valeurs du rapport h encadrent de mieux en mieux 2 ≈ 1.3591. 

 Exemple 1.5 Une mise en oeuvre défaillante (exemple surprenant)


Considérons le problème suivant :
 0
u (t) = 3u(t) − 3t, t ∈ [0, T ],
(1.4.3)
u(0) = 13 ,

dont la solution est u(t) = 13 + t. Appliquons la méthode d’Euler pour en chercher la solution
approchée à l’instant T , pour différentes valeurs de T et différents choix du pas h. Les résultats
obtenus peuvent surprendre. Le tableau suivant donne les erreurs dans le calcul de uN :
h T =5 T = 10 T = 20
1 1.8651 10−14 1.9403 10−11 2.0345 10−05
0.5 4.9560 10−13 4.7278 10−09 4.2999 10−01
0.1 5.2402 10−14 2.6318 10−08 6.5252 10+03
0.05 1.5525 10−11 1.8232 10−05 2.5142 10+07
On constate que l’erreur semble croître avec le pas, contrairement à ce que l’on espérait. Par
ailleurs, pour T = 20, cette erreur atteint des valeurs astronomiques !!!
Analyse de l’exemple
Calculons la solution générale de l’équation différentielle : u0 (t) = 3u(t) − 3t.
La solution de l’équation homogène est u(t) = Ke3t . La méthode de variation de la constante fournit
pour notre équation
1 1
K 0 (t) = −3te−3t ⇒ K(t) = (t + )e−3t + k ⇒ u(t) = t + + ke3t .
3 3
La constante k peut être évaluée à l’aide de la valeur de u en 0, avec k = 0 si u(0) = 13 . Mais
si u(0) = 13 + δ . On obtient k = δ implique que la solution réelle du problème devient uδ (t) =
1 3t 3T sont respectivement :
3 + t + δ e . Les valeurs de e
• pour T = 5, e ' 3.269 106 ,
3T

• pour T = 10, e3T ' 1.068 1013 ,


• pour T = 20, e3T ' 1.142 1026 .
Avec une unité d’arrondi de l’ordre de 1.1102 10−16 , on retrouve l’ordre de grandeur des erreurs
constatées ! Le problème (1.4.3) est typiquement un problème instable; une petite perturbation de
la donnée initiale entraîne une grande perturbation de la solution. 
1.5 Analyse de la méthode d’Euler 11

1.5 Analyse de la méthode d’Euler


1.5.1 Erreur locale et erreur globale
• On considère la solution obtenue par le schéma à un pas en partant de la donnée initiale
exacte u(tn )
u∗n+1 = u(tn ) + hφ (tn , u(tn ), h)
• Erreur locale de consistance εn+1 = u(tn+1 ) − u∗n+1 . On peut l’écrire aussi

εn+1 = u(tn+1 ) − u(tn ) − hφ (tn , u(tn ), h)

ou aussi
u(tn+1 ) = u(tn ) + hφ (tn , u(tn ), h) + εn+1
• Erreur globale max |en+1 | avec en+1 = u(tn+1 ) − un+1 . On peut écrire
0≤n≤N−1

en+1 = u(tn+1 ) − un − hφ (tn , un , h)

ou aussi
u(tn+1 ) = un + hφ (tn , un , h) + en+1

1.5.2 Consistance et ordre


Définition 1.5.1 Consistance Un schéma est consistant si la solution approchée tends vers la
solution exacte lorsque le pas h tends vers 0.

Le schéma à pas séparé est dit consistant si ∀u ∈ C1 , ∀t ∈ [a, b], l’erreur de troncature
u(t + h) − u(t)
R(t, u, h) = − φ (t, u(t), h)
h
tends vers 0 lorsque h tends vers 0. (Autrement dit φ (t, u, 0) = f (t, u)).
Définition 1.5.2 Ordre Le schéma à pas séparé est dit d’ordre p si il existe C > 0 indépendante
de h et de t tel que kR(t, u, h)k ≤ C(h) p
On dit aussi que le schéma est p-consistant.

On pose τn+1 (h) = R(tn , u(tn ), h) l’erreur de troncature du schéma (*) à l’instant tn+1 . On a donc
εn+1
τn+1 (h) =
h
Le schéma (*) est alors consistant si on a

lim max |τn+1 | = 0.


h→0 0≤n≤N−1
12 Chapter 1. Résolution numérique des EDO

Il est d’ordre p si max0≤n≤N−1 |τn+1 | ≤ C(h) p

Pour déterminer la consistance et l’ordre d’un schéma, nous utilisons la formule de Taylor.

Théorème 1.5.1 Taylor Supposons u de classe C p ([a, b]), alors ∀t ∈ [a, b] et ∀h ∈ R tels que
p
t + h ∈ [a, b] on a u(t + h) = u(t) + hu0 (t) + · · · + hp! u(p) (t) + O(h p+1 )

On peut écrire aussi


p
u(t) = u(t + h) − hu0 (t + h) + · · · + (−h) (p)
p! u (t + h) + O(h
p+1 )

Exemples :
1. u(t + h) = u(t) + hu0 (t) + O(h2 ) (pour u ∈ C1 )
2. u(t) = u(t + h) − hu0 (t + h) + O(h2 ) (pour u ∈ C1 )
3. u(t + h) = u(t) + O(h1 ) (pour u ∈ C0 )
• Les schémas d’Euler explicite et implicite sont d’ordre 1
u(t + h) = u(t) + hu0 (t) + O(h2 )
= u(t) + h f (t, u(t)) + O(h2 )
donc R(t, u, h) = u(t+h)−u(t)
h − f (t, u) = O(h)
• Le schéma d’Euler modifié est d’ordre 2
2
u(t + h) = u(t + 2h ) + h2 u0 (t + 2h ) + h8 u00 (t + h2 ) + O(h3 )
2
u(t) = u(t + h2 ) − h2 u0 (t + h2 ) + h8 u00 (t + h2 ) + O(h3 )
donc u(t + h) = u(t) + hu0 (t + h2 ) + O(h3 )
Et u(t + h2 ) = u(t) + 2hu0 (t) + O(h2 ) donc
u(t + h) = u(t) + h f t + h2 , u(t) + 2h f (u(t),t) + O(h3 )


alors R(t, u, h) = u(t+h)−u(t) − f t + 2h , u(t) + h2 f (u(t),t) = O(h2 )


 
h
On va décrire une méthode générale pour calculer l’ordre de consistance d’un schéma à un pas. On
rappelle l’erreur de consistance

εn+1 = u(tn+1 ) − u(tn ) − hΦ(tn , u(tn ), h).

On pose t = tn un point générique, et donc

εn+1 = u(t + h) − u(t) − hΦ(t, u(t), h).

La formule de Taylor donne

h2 00 h3 hp
u(t + h) = u(t) + hu0 (t) + u (t) + u(3) (t) + . . . + u(p) (t) + . . .
2! 3! p!

∂Φ h2 ∂ 2 Φ h3 ∂ 3 Φ
Φ(t, u(t), h) =Φ(t, u(t), 0) + h (t, u(t), 0) + (t, u(t), 0) + (t, u(t), 0)+
∂h 2! ∂ 2 h 3! ∂ 3 h
h p−1 ∂ p−1 Φ
...+ (t, u(t), 0) + . . .
(p − 1)! ∂ p−1 h

alors
 
2 1 00 ∂Φ
 0 
εn+1 = h u (t) − Φ(t, u(t), 0) + h u (t) − (t, u(t), 0)
2 ∂h
h3 1 (3) ∂ 2Φ hp ∂ p−1 Φ
   
1 (p)
+ u (t) − 2 (t, u(t), 0) + . . . + u (t) − p−1 (t, u(t), 0) .
2! 3 ∂ h (p − 1)! p ∂ h
1.5 Analyse de la méthode d’Euler 13

On conclut que :
Le schéma est au moins d’ordre 1 (consistant) si
Φ(t, u(t), 0) = u0 (t) = f (t, u(t))
Le schéma est au moins d’ordre 2 si de plus
∂Φ 1 1d 1
(t, u(t), 0) = u00 (t) = f (t, u(t)) = ∂t f (t, u(t)) + u0 (t)∂u f (t, u(t))

∂h 2 2 dt 2
1
= [∂t f (t, u(t)) + f (t, u(t))∂u f (t, u(t))] .
2
Le schéma est au moins d’ordre 3 si de plus
∂ 2Φ 1 (3) 1 d2
(t, u(t), 0) = u (t) = f (t, u(t)).
∂ 2h 3 3 dt 2
Le schéma est au moins d’ordre p si de plus
∂ p−1 Φ 1 (p) 1 d p−1
(t, u(t), 0) = u (t) = f (t, u(t)).
∂ p−1 h p p dt p−1

1.5.3 Stabilité
Un schéma est stable signifie qu’une petite perturbation sur les données (u0 , Φ) n’entraîne qu’une
petite perturbation sur la solution indépendamment de h. Plus précisément, soient (un )n , (vn )n ,
n = 0, . . . , N, les solutions de
(
un+1 = un + hΦ(tn , un , h), n = 0, . . . , N − 1
(1.5.1)
u0 donné,
et
(
vn+1 = vn + h(Φ(tn , un , h) + δn+1 ), n = 0, . . . , N − 1
(1.5.2)
v0 donné.

Définition 1.5.3 La méthode est dite stable s’il existe deux constantes M1 et M2 indépendantes
de h telles que

max |un − vn | ≤ M1 |u0 − v0 | + M2 max |δn+1 |. (1.5.3)


0≤n≤N 0≤n≤N−1

Théorème 1.5.2 (Convergence) Soit une méthode à un pas consistante et stable, alors elle est
convergente.

Proof. Le schéma est consistant, alors


u(tn+1 ) = u∗n+1 + εn+1 = u(tn ) + hΦ(tn , u(tn ), h) + εn+1 ,
on pose τn+1 = εn+1 /h et donc |τn+1 | ≤ Kh p −→ 0 quand h → 0 ou N → ∞. Comme le schéma est
stable et en prenant vn = u(tn ), on a
max |un − u(tn )| ≤ M1 |u0 − u(0)| + M2 max |τn+1 |.
0≤n≤N 0≤n≤N−1

Ce qui montre
max |un − u(tn )| −→ 0,
0≤n≤N
et le schéma est convergent. 
14 Chapter 1. Résolution numérique des EDO

Théorème 1.5.3 — Condition suffisante de stabilité. Si Φ est Lipschitzienne par rapport à u


uniformément en h de constante M, alors la méthode à un pas est stable.

Proof. Soient (un )n solution de (1.5.1) et (vn )n solution de (1.5.2). En faisant la différence de deux
équations, il vient
|un+1 − vn+1 | ≤ |un − vn | + h|Φ(tn , un , h) − Φ(tn , vn , h)| + h|δn+1 |,
en tenant compte du fait que Φ est M-Lipschitz,
|un+1 − vn+1 | ≤ (1 + hM)|un − vn | + h|δn+1 |.
On réutilise cette estimation pour estimer |un − vn |, on déduit
|un+1 − vn+1 | ≤ (1 + hM)2 |un−1 − vn−1 | + (1 + hM)h|δn | + h|δn+1 |,
ce qui permet de conclure par récurrence que
n
|un+1 − vn+1 | ≤ (1 + hM)n+1 |u0 − v0 | + h ∑ (1 + hM)k |δn−k+1 |, (1.5.4)
k=0

On a
n
1 − (1 + hM)n+1 (1 + hM)n+1 − 1
∑ (1 + hM)k = 1 − 1 − hM
=
hM
,
k=0
d’autre part,
(1 + hM)n+1 ≤ e(n+1)hM ≤ e(T −t0 )M
De (1.5.4), on déduit
n
|un+1 − vn+1 | ≤ (1 + hM)n+1 |u0 − v0 | + h ∑ (1 + hM)k max |δk |,
k=0 0≤k≤N

(1 + hM)n+1 − 1
≤ (1 + hM)n+1 |u0 − v0 | + max |δk |,
M 0≤k≤N

e(T −t0 )M − 1
≤ e(T −t0 )M |u0 − v0 | + max |δk |,
M 0≤k≤N

e(T −t0 )M −1
ce qui établit (1.5.3) avec M1 = e(T −t0 )M et M2 = M . 

1.6 Schéma de Heun : schéma prédicteur/correcteur


• On écrit la forme intégrale sur [tn ,tn+1 ]
Z tn+1
u(tn+1 ) = u(tn ) + f (t, u(t))dt
tn
1.7 Schémas de Runge-Kutta 15

R tn+1
• L’intégrale tn f (t, u(tn ) est approchée par la méthode des trapèzes, on aura
h
un+1 = un + ( f (tn , un ) + f (tn+1 , un+1 ))
2
• Cette forme est implicite en un+1 qui sera approchée par pn+1 grace au schéma d’Euler
(schéma prédicteur)
pn+1 = un + h f (un ,tn ) ≈ un+1
• Le schéma de Heun (schéma correcteur)
h
un+1 = un + [ f (tn , un ) + f (tn+1 , un + h f (un ,tn ))]
2
• La fonction incrément dans ce cas est
1
φ (t, u; h) = [ f (tn , un ) + f (tn+1 , un + h f (un ,tn ))]
2

1.7 Schémas de Runge-Kutta


1.7.1 Principe
• L’intervalle [tn ,tn+1 ] est découpé en q segments [tn,i ,tn,i+1 ] avec tn,i = tn + αi h, αi ∈ [0, 1]
• On écrit la forme intégrale sur [tn ,tn,i ]
Z tn,i
u(tn,i ) = u(tn ) + f (t, u(t))dt
Z αi tn

= u(tn ) + h f [tn + s h, u(tn + s h)] ds


0
i−1
≈ u(tn ) + h ∑ ai j f [tn, j , u(tn, j ]
j=1
• La forme intégrale sur [tn ,tn+1 ]
Z 1
u(tn+1 ) = u(tn ) + h f [tn + s h, u(tn + s h)] ds
0
q
≈ u(tn ) + h ∑ ωi f [tn,i , u(tn,i )]
i=1 " #
q i−1
≈ u(tn ) + h ∑ ωi f tn,i , u(tn ) + h ∑ ai j f [tn, j , u(tn, j )]
i=1 j=1
En résumé, les méthodes de Runge-Kutta de rang q s’écrit
q
un+1 = un + h ∑ ωi ki
i=1
16 Chapter 1. Résolution numérique des EDO

où ∑qi=1 ωi = 1 et les fonctions k j sont définies par



 k1 (tn , un ) = f (tn , un )
 !
i−1
 ki (tn , un )
 = f tn,i , u(tn ) + h ∑ ai j f [tn, j , u(tn, j )] , ∀i ≥ 2
j=1

Les poids ωi , et les coefficients αi et ai j sont à choisir de tel sort à assurer la consistance.
Tableau de Butcher :
• On résume la méthode de Runge Kutta par le tableau de Butcher
α2 a21
α3 a31 a32
.. .. .. ..
. . . .
αq−1 aq−1,1 aq−1,2 · · · aq−1,q−2
αq aq,1 aq,2 ··· aq,q−2 aq,q−1
ω1 ω2 ω3 ··· ωq−1 ωq
• La méthode de Runge-Kutta est consistante si
i−1
∑ ai, j = αi , pour i = 2, · · · , q
j=1

1.7.2 Schéma de Runge-Kutta d’ordre 2 (RK2)


• Pour un schéma RK2, on écrit
un+1 = un + h(ω1 k1 + ω2 k2 )
où 
k1 = f (tn , un )
k2 = f (tn + α2 h, un + a2,1 h f (tn , un ))
• On a ω1 + ω2 = 1 et ω2 α2 = ω2 a2,1 = 21 (Formule de Taylor)
En effet on a :
un+1 = un + h [ω1 f (tn , un ) + ω2 f (tn + α2 h, un + a2,1 h f (tn , un ))]
= un + h [ω1 f (tn , un ) + ω2 f (tn , un ) + ω2 α2 h∂t f (tn , un )
+ω2 a2,1 h f (tn , un )∂u f (tn , un )]
Et d’après le développement de Taylor :
2
u(tn + h) = u(tn ) + h f (tn , u(tn )) + h2 ddtf (tn , un ) + O(h3 )
2 2
= u(tn ) + h f (tn , u(tn )) + h2 ∂t f (tn , un ) + h2 f (tn , un )∂u f (tn , un ) + O(h3 )
Donc par identification, on trouve le résultat.
• En posant λ = ω2 , pour le schéma RK2, on obtient :
 
h h
φ (t, u; h) = (1 − λ ) f (t, u) + λ f t + ,u+ f (t, u)
2λ 2λ
1 1
• Le tableau de Butcher 2λ 2λ
1−λ λ
• Cas particuliers :
 
1. Schéma d’Euler modifié : λ = 1, φ (t, u; h) = f t + h2 , u + h f (t,u)
2

 k1 = f (tn , un ),
 1 1
k2 = f (tn + 2h , un + h2 k1 )) 2 2
 un+1 = un + hk2
 0 1
1.8 Schémas numériques à pas liés 17
f (t,u)+ f (t+h,u+h f (t,u))
2. Schéma de Heun : λ = 12 , φ (t, u; h) = 2


 k1 = f (tn , un ),

 k = f (t , u + hk ))
2 n+1 n 1 1 1
1 1
 h 2 2
 un+1 = un + (k1 + k2 )

2

1.7.3 Schéma de Runge-Kutta d’ordre 3 (RK3)


Un schéma de Runge-Kutta d’ordre 3 s’écrit

1
un+1 = un + h (k1 + 4k2 + k3 )
6

où 
 k1 = f (tn , un )
f tn + 2h , un + h2 k1

k =
 2
k3 = f (tn + h, un − hk1 + 2hk2 )
1 1
2 2
Le tableau de Butcher de RK3 1 −1 2
1/6 2/3 1/6

1.7.4 Schéma de Runge-Kutta d’ordre 4 (RK4)


Le schéma classique de Runge-Kutta d’ordre 4 s’écrit

1
un+1 = un + h (k1 + 2k2 + 2k3 + k4 )
6

où 
 k1 = f (tn , un )
f tn + h2 , un + 2h k1 
 
k2 =

k = f tn + h2 , un + 2h k2
 3


k4 = f (tn + h, un + hk3 )

1/2 1/2
1/2 0 1/2
Le tableau de Butcher de RK4
1 0 0 1
1/6 2/6 2/6 1/6

1.8 Schémas numériques à pas liés


1.8.1 Principe général
• Dans un schéma à un pas (ou pas séparé), le terme un+1 dépend explicitement uniquement
du terme un .
• Pour les méthodes multi-pas (ou à pas liés), le terme un+1 dépend de plusieurs valeurs
précédentes de la solution (tk , uk ), k ≤ n.
Définition 1.8.1 (Méthode à p + 1 pas) Une méthode à p + 1 pas (p ≥ 0) est telle que ∀n ≥ p,
le terme un+1 dépend directement de un−p , mais d’aucun termes uk tel que k < n − p.
18 Chapter 1. Résolution numérique des EDO

Exemples :
 Méthode explicite à 2 pas (Méthode du point milieu)

un+1 = un−1 + 2h fn , n≥1

u0 donné et u1 à déterminer.
 Méthode implicite à 2 pas (Méthode de Simpson)
h
un+1 = un−1 + [ fn−1 + 4 fn + fn+1 ], n≥1
3
u0 donné et u1 à déterminer.
• Les méthodes multi-pas linéaires à p + 1 pas (p ≥ 0) sont définies par
p p
un+1 = ∑ a j un− j + h ∑ b j fn− j + hb−1 fn+1 , n = p, p + 1, · · ·
j=0 j=0

les coefficients a j , b j caractérisent le schéma (on suppose que a p 6= 0 ou b p 6= 0)


• u0 est donné, Mais les uk , k = 1, · · · , p doivent être initialisées (par exemple par une méthode
à un pas)
• Si b−1 = 0 le schéma est explicite. Sinon, le schéma est implicite, il est nécessaire, dans ce
cas, de résoudre un problème de point fixe ou d’utiliser une technique de prédiction-correction

1.8.2 Méthodes d’ADAMS-BASHFORTH


• La forme générale des méthodes d’ADAMS-BASHFORTH à p + 1 pas est
p
un+1 = un + h ∑ βi fn−i
i=0

• Les βi sont choisis de sorte que l’ordre de la méthode soit maximal


• La forme intégrale entre tn et tn+1
Z tn+1
u(tn+1 ) = u(tn ) + f (t, u(t))dt
tn

• L’idée est d’approcher f (t, u(t)) dans l’intégrale par un polynôme d’interpolation (Ln,p ) aux
points (tn−i )0≤i≤p
Z tn+1
u(tn+1 ) ≈ u(tn ) + Ln,p (t)dt
tn
• L’intégrale est calculée analytiquement
• Pour p = 0 (Ln,0 (t) = fn ), on retrouve le schéma à un pas d’Euler explicite (ordre 1)
Z tn+1
un+1 = un + Ln,0 (t)dt = un + h fn
tn

• Pour p = 1, 2 et 3, on retrouve les schémas d’ADAMS- BASHFORTH à 2, 3 et 4 pas


respectivement.
• Méthode d’ADAMS-BASHFORTH à 2 pas (ordre 2)

h
un+1 = un + (3 fn − fn−1 )
2
• Méthode d’ADAMS-BASHFORTH à 3 pas (ordre 3)

h
un+1 = un + (23 fn − 16 fn−1 + 5 fn−2 )
12
1.8 Schémas numériques à pas liés 19

• Méthode d’ADAMS-BASHFORTH à 4 pas (ordre 4)

h
un+1 = un + (55 fn − 59 fn−1 + 37 fn−2 − 9 fn−3 )
24

• Ces schémas sont explicites et leur ordre correspond au nombre de pas

1.8.3 Méthodes d’ADAMS-MOULTON


• La forme générale des méthodes d’ADAMS-MOULTON à p + 1 pas
p
un+1 = un + h ∑ βi fn+1−i , avec β0 6= 0
i=0

∗ ) aux
• La fonction f (t, u(t)) est approchée, dans ce cas, par un polynôme d’interpolation (Ln,p
points (tn+1−i )0≤i≤p
Z tn+1

u(tn+1 ) ≈ u(tn ) + Ln,p (t)dt
tn
∗ (t) = f
• Pour p = 0 (Ln,0 n+1 ), on retrouve le schéma à un pas d’Euler implicite (ordre 1)

Z tn+1

un+1 = un + Ln,0 (t)dt = un + h fn+1
tn

∗ (t) est un polynôme d’interpolation de f aux points (t , f ) et (t


• Pour p = 1, Ln,1 n n n+1 , f n+1 ),
on retrouve le schéma d’ADAMS-MOULTON à un pas (ordre 2)

h
un+1 = un + ( fn+1 + fn ) ,
2

• Le schéma d’ADAMS-MOULTON à 2 pas (ordre 3)

h
un+1 = un + (5 fn+1 + 8 fn − fn−1 ) ,
12

• Le schéma d’ADAMS-MOULTON à 3 pas (ordre 4)

h
un+1 = un + (9 fn+1 + 19 fn − 5 fn−1 + fn−2 ) ,
24

• Ces schémas sont implicites et leur ordre correspond au nombre de pas plus un.

Vous aimerez peut-être aussi