Vous êtes sur la page 1sur 11

Méthodes Numériques ISSAT Sousse Master-GM-A1 2022/2023

Chapitre 3: Résolution numérique des équations différentielles ordinaires (EDO)

1 Dérivation numérique
Développement de Taylor :
Si f est une fonction dont les dérivées jusqu’à l’ordre (n + 1) existent au voisinage de x, alors pour h
assez petit on a :

h2 ′′ hn (n) hn+1 (n+1


f (x + h) = f (x) + hf ′ (x) + f (x) + · · · + f (x) + f )(η), η ∈ (x, x + h)
2! n! (n + 1)!

1.1 Approximation de la dérivée première


Soient f une fonction dérivable au voisinage d’un point x, alors
f (x + h) − f (x)
• f ′ (x) = lim (1)
h→0 h
f (x) − f (x − h)
• En changeant h en −h, on obtient : f ′ (x) = lim (2)
h→0 h
f (x + h) − f (x − h)
• (1) + (2) =⇒ f ′ (x) = lim (3)
h→0 2h
f (x+h)−f (x) f (x)−f (x−h) f (x+h)−f (x−h)
Pour h assez petit h , h , 2h sont des approximations de f ′ (x).
Maillage :
Soient f : [a, b] −→ R une fonction régulière et t0 = a < t1 < t2 < · · · < tN = b un maillage uniforme
b−a
de l’intervalle [a, b] en N sous intervalle de longueur (pas) h = ti+1 − ti = .
N
On note ti = a + ih, 0 ⩽ i ⩽ N : les noeuds de maillage.

ti+1 = ti + h ti−1 = ti − h

Définition 1 1. On appelle différence finie progressive (avant) l’approximation :

f (ti+1 ) − f (ti )
Dh+ f (ti ) = ≃ f ′ (ti ), i = 0, · · · , N − 1
h

2. On appelle différence finie rétrograde (arrière) l’approximation

f (ti ) − f (ti−1 )
Dh− f (ti ) = ≃ f ′ (ti ), i = 1, · · · , N
h

3. On appelle différence finie centrée l’approximation :

f (ti+1 ) − f (ti−1 )
Dhc f (ti ) = ≃ f ′ (ti ), i = 1, · · · , N − 1
2h
Dh+ f (ti ), Dh− f (ti ) et Dhc f (ti ) sont des approximations de f ′ (ti ).
On appelle erreur de troncature au point ti les différences f ′ (ti ) − Dh+ f (ti ) , f ′ (ti ) − Dh− f (ti ) et
|f ′ (ti ) − Dhc f (ti )| .

Proposition 1 L’erreur de troncature est de premier ordre pour les formules progressive et rétrograde
et d’ordre 2 pour la formule centrée. Plus précisément on a :
f (ti+1 ) − f (ti ) 1
1. f ′ (ti ) − ⩽ C1 h, où C1 = sup |f ′′ (x)|
h 2 x∈[ti ,ti+1 ]

1
f (ti ) − f (ti−1 ) 1
2. f ′ (ti ) − ⩽ C2 h, où C2 = sup |f ′′ (x)|
h 2 x∈[ti−1 ,ti ]
f (ti+1 ) − f (ti−1 ) 1
3. f ′ (ti ) − ⩽ C3 h2 , où C3 = sup |f ′′′ (x)|
2h 6 x∈[ti−1 ,ti+1 ]

Démonstration :
La démonstration est basée sur l’application de formule de Taylor au voisinage de ti .
1. On suppose que f est de classe C 2 , on utilise la formule de Taylor à l’ordre 2 au voisinage de
ti :
h2
f (ti+1 ) = f (ti + h) = f (ti ) + hf ′ (ti ) + f ′′ (η), η ∈]ti , ti+1 [
2
h2 ′′ f (ti+1 ) − f (ti ) h
=⇒ f (ti+1 ) − f (ti ) = hf ′ (ti ) + f (η) =⇒ = f ′ (ti ) + f ′′ (η)
2 h 2
On en déduit que

f (ti+1 ) − f (ti ) h f (ti+1 ) − f (ti )


f ′ (ti ) − = − f ′′ (η) =⇒ f ′ (ti ) − ⩽ C1 h,
h 2 h

1
où C1 = sup |f ′′ (x)|.
2 x∈[ti ,ti+1 ]
2. De la même façon :

h2 ′′
f (ti − h) = f (ti ) − hf ′ (ti ) + f (η), η ∈]ti−1 , ti [
2
f (ti ) − f (ti − h) h ′′ f (ti ) − f (ti−1 )
=⇒ f ′ (ti ) = + f (η) =⇒ f ′ (ti ) − ⩽ C2 h
h 2 h
1
où C2 = sup |f ′′ (x)|
2 x∈[ti−1 ,ti ]
3. On suppose que f est de classe C 3 sur [a, b] et on applique la formule de Taylor à l’ordre 3 au
voisinage de ti :

h2 ′′ h3
f (ti + h) = f (ti ) + hf ′ (ti ) + f (ti ) + f ′′′ (η1 ), η1 ∈]ti , ti+1 [ (1)
2 3!

h2 ′′ h3
f (ti − h) = f (ti ) − hf ′ (ti ) + f (ti ) − f ′′′ (η2 ), η2 ∈]ti−1 , ti [ (2)
2 3!
(1) − (2) donne

h3  ′′′
f (ti + h) − f (ti − h) = 2hf ′ (ti ) + f (η1 ) + f ′′′ (η2 ) .

6
En divisant par 2h, on obtient :

f (ti + h) − f (ti − h) h2  ′′′


f ′ (ti ) = f (η1 ) + f ′′′ (η2 )


2h 12
On en déduit que

f (ti+1 ) − f (ti−1 ) 1
f ′ (ti ) − ⩽ Ch2 , où C = sup |f ′′′ (x)|
2h 6 x∈[ti−1 ,ti+1 ]

2
1.2 Approximation de la dérivée seconde
On peut déterminer une approximation centrée de f ′′ (ti ) en utilisant les opérateurs linéaires Dh+ et
− ′′ + ′ + −

Dh : f (ti ) ≃ Dh (f (ti )) ≃ Dh Dh f (ti ) . On obtient
 
′′ + f (ti ) − f (ti−1 )
f (ti ) ≃ Dh
h
f (ti+1 ) − f (ti ) f (ti ) − f (ti−1 )

≃ h h
h
f (ti+1 ) − 2f (ti ) + f (ti−1 )
≃ . (différence finie centrée)
h2
f (ti+1 ) − 2f (ti ) + f (ti−1 )
On montre que ∆h f (ti ) = 2
est une approximation consistante et d’ordre 2
h
de la dérivée seconde f ′′ (ti ). (il suffit d’utiliser la formule de Taylor à l’ordre 4 au voisinage de ti en
ti + h et ti + h)

Proposition 2 Supposons que f est de classe C4 sur [a, b], alors il existe une constante positive C
indépendante de h telle que
f (ti+1 ) − 2f (ti ) + f (ti−1 ) 1
f ′′ (ti ) − ⩽ Ch2 , où C = sup |f (4) (x)|.
h2 12 x∈[a,b]
Démonstration :
Pour déterminer l’ordre de l’erreur de troncature (de consistance) liée à l’approximation f ′′ (ti ), on
utilise la formule de Taylor à l’ordre 4 au voisinage de ti :
h2 ′′ h3 h4
f (ti + h) = f (ti ) + hf ′ (ti ) + f (ti ) + f ′′′ (ti ) + f (4) (η1 ), η1 ∈]ti , ti+1 [ (1)
2! 3! 4!

h2 ′′ h3 h4
f (ti − h) = f (ti ) − hf ′ (ti ) + f (ti ) − f ′′′ (ti ) + f (4) (η2 ), η2 ∈]ti−1 , ti [ (2)
2! 3! 4!
En ténant compte que ti + h = ti+1 et ti − h = ti−1 , (1) + (2) donne
h4 h (4) i
f (ti+1 ) + f (ti−1 ) = 2f (ti ) + h2 f ′′ (ti ) + f (η1 ) + f (4) (η2 )
24
2
En divisant par h , on obtient :
f (ti+1 ) − 2f (ti ) + f (ti−1 ) h2 h (4) i
f ′′ (ti ) = − f (η1 ) + f (4)
(η2 )
h2 24
Or f (4) (η1 ) ⩽ sup |f (4) (x)| et f (4) (η2 ) ⩽ sup |f (4) (x), on en déduit que
x∈[a,b] x∈[a,b]

f (ti+1 ) − 2f (ti ) + f (ti−1 ) 1


f ′′ (ti ) − ⩽ Ch2 , où C = sup |f (4) (x)|.
h2 12 x∈[a,b]
Ce qui prouve que l’erreur de consistance est d’ordre 2 en h :
f (ti+1 ) − 2f (ti ) + f (ti−1 )
f ′′ (ti ) = + O(h2 ).
h2

2 Problème de Cauchy

Soit I = [t0 , t0 + T ] un intervalle de R et f : I × R −→ R une application continue.


(t, y) −→ f (t, y)
On considère l’équation différentielle du premier ordre :
dy(t)
(E) : = f (t, y(t)).
dt
La dérivée dy(t) ′
dt est notée y (t) ou ẏ(t).
Une solution de (E) est une fonction dérivable y : I −→ R telle que ∀ t ∈ I, y ′ (t) = f (t, y(t)).

3
Définition 2 (Problème de Cauchy)
On appelle probleme de Cauchy le problème suivant :
(
y ′ (t) = f (t, y(t)), t ∈ I = [t0 , t0 + T ]
(P) :
y(t0 ) = y0 = α0 (condition initiale)

Dans de nombreux exemples physiques, y est souvent une variable spatialle, la variable t représente le
temps, la condition y(t0 ) = α0 est appelée condition initiale et y ′ (t) est la vitesse.

Théorème 2.1 (de Cauchy-Lipschitz)


Soit f : I × R −→ R. On suppose que :
(H1 ) : La fonction f est continue sur I × R.
(H2 ) La fonction f est lipschitizienne par rapport à la deuxième variable y :
il existe une constante L > 0 telle que

∀ t ∈ I, ∀ u, v ∈ R, |f (t, u) − f (t, v)| ⩽ L|u − v|.

Alors le problème de Cauchy :


(
y ′ (t) = f (t, y(t)), t ∈ I = [t0 , t0 + T ]
(P ) :
y(t0 ) = α.

admet une unique solution y : I −→ R de claase C 1

Théorème 2.2 (Régularité des solutions)


Si f est de classe C k sur I × R, alors toute solution y du problème (P ) est de classe C k+1 sur I.

Exemple 1
y 1

 y ′ (t) = − + , t ∈ I = [e, 5]
(P ) : t ln(t) ln(t)
y(e) = e.

Montrer que le problème (P ) admet une unique solution y.


y 1
f (t, y) = − + .
t ln(t) ln(t)
y 1
• ∀ y ∈ R, t 7−→ − + est continue sur I.
t ln(t) ln(t)
y 1
• ∀ t ∈ I, y 7−→ − + est continue sur R.
t ln(t) ln(t)
Donc f est continue sur I × R.
1
• ∀ t ∈ I, u, v ∈ R, |f (t, u) − f (t, v)| = (u − v)
t ln(t)
1 1
e ⩽ t ⩽ 5 =⇒ 1 ⩽ ln(t) ⩽ ln(5) =⇒ e ⩽ t ln(t) ⩽ 5 ln(5) =⇒ ⩽
t ln(t) e
1 1
=⇒ |f (t, u) − f (t, v)| ⩽ |u − v| =⇒ f est -lipschitizienne par rapport à la deuxième variable.
e e
Donc le problème (P ) admet une unique solution y.

Exercice 1 Montrer que le problème de Cauchy


(
y ′ (t) = y(t) + sin(y(t)), t ∈ I = [0, 1]
(P ) :
y(0) = 1.

admet une unique solution.

4
Remarque 1
∂f
Si est continue et bornée sur I × R : il existe M > 0 tel que :
∂y
∂f (t, y)
∀ t ∈ I, ∀ y ∈ R, ⩽ M.
∂y
alors f est lipschitizienne pa rapport à la deuxième variable.

Exemple 2 (
y ′ (t) = 3t2 y(t), t ∈ I = [−2, 2]
(P ) :
y(−2) = 1.
∂f (t, y)
f (t, y) = 3t2 y, = |3t2 | ⩽ 12, ∀ t ∈ I, ∀y ∈ R.
∂y
Donc f est lipschitizienne par rapport à la deuxième variable y.

3 Approximation numérique des équations différentielles


On considère le problème de Cauchy :
 ′
y (t) = f (t, y(t)), t ∈ [t0 , t0 + T ]
(Pc ) :
y(t0 ) = α.
T
Soient t0 < t1 < · · · < tN = t0 + T une subdivision uniforme de l’intervalle [t0 , t0 + T ] de pas h = N.
Notons que h = tn+1 − tn et que tn = t0 + nh pour n = 0, · · · , N.

Soit yn une approximation de y(tn ) : y(tn ) ≃ yn .


Méthode d’Euler :
y(tn+1 ) − y(tn )
La méthode d’Euler consiste a approcher y ′ (tn ) par une différence finie progressive y ′ (tn ) ≃ ,
h
on obtient le schéma :
(
yn+1 = yn + hf (tn , yn ), n = 0, 1, · · · N − 1,
(EP ) :
y0 = α.
Schémas classiques
On cherche (y0 , y1 , · · · , yN ) une approximation de (y(t0 ), y(t1 ), · · · , y(tN )), en utilisant un schéma
numérique à un pas de la forme yn+1 = yn + hΦ(tn , yn , h)), en utilisant les formules d’intégration
numérique. En intégrant l’équation différentielle entre tn et tn+1 , on obtient :
Z tn+1 Z tn+1 Z tn+1

y (t)dt = f (t, y(t))dt =⇒ y(tn+1 ) − y(tn ) = f (t, y(t))dt. (2.1)
tn tn tn

3.1 Schéma d’Euler progressif (Schéma explicite)


Z tn+1
On approche f (t, y(t))dt par la méthode de rectangle à gauche :
tn
Z tn+1
y(tn+1 ) − y(tn ) = f (t, y(t))dt ≃ hf (tn , y(tn )). (2.2)
tn

On obtient le schéma d’Euler progressif suivant :


Schéma d’Euler progressif (explicite) :
(
yn+1 = yn + hf (tn , yn ), n = 0, 1, · · · N − 1,
(EP ) :
y0 = α.

5
3.2 Schéma d’Euler rétrograde (Schéma implicite)
Z tn+1
On approche f (t, y(t))dt par la méthode de rectangle à droite :
tn
Z tn+1
y(tn+1 ) − y(tn ) = f (t, y(t))dt ≃ hf (tn+1 , y(tn+1 )). (2.3)
tn

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

Schéma d’Euler rétrograde (implicite) :


(
yn+1 = yn + hf (tn+1 , yn+1 ), n = 0, 1, · · · N − 1,
(ER) :
y0 = α.

3.3 Schéma de Crank-Nicolson


Z tn+1
On approche f (t, y(t))dt par de trapèze :
tn
Z tn+1
hh i
y(tn+1 ) − y(tn ) = f (t, y(t))dt ≃ f (tn , y(tn )) + f (tn+1 , y(tn+1 )) . (2.4)
tn 2

On obtient le schéma de Crank-Nicolson suivant :


Schéma de Crank-Nicolson :
( h i
yn+1 = yn + h2 f (tn , yn )) + f (tn+1 , yn+1 ) , n = 0, 1, · · · N − 1, (2.5)
(CN ) :
y0 = α.

3.4 Schéma de Heun


Pour éviter le calcul implicite de yn+1 dans le schéma de Crank-Nicolson, on peut utiliser une méthode
de préduction d’Euler progressive de pas h en remplaçant yn+1 qui intervient dans f (tn+1 , yn+1 ) par
yen+1 = yn + hf (tn , yn ), ce qui donne la méthode de Heun (explicite)

Schéma de Heun :
(
y0 = α
(CH) : h
h i
yn+1 = yn + 2 f (tn , yn )) + f tn+1 , yn + hf (tn , yn ) .

Pour simplifier les calcul on peut ecrire :

Schéma de Heun :

 y0 = α

 K1 = f (tn , yn )

(CH) : K2 = f (tn+1 , yn + hK1 )
h



 y
n+1 = yn + (K1 + K2 ).
2

3.5 Schéma de point milieu


Intégrant par la méthode du rectangle point milieu :
Z tn+1   
y(tn+1 ) − y(tn ) = f (t, y(t))dt ≃ hf tn+ 1 , y tn+ 1 ,
2 2
tn

6
tn+1 +tn
où tn+ 1 = 2 = tn + h2 . Ce qui donne le schéma implicite suivant :
2
 
h
yn+1 = yn + hf tn + , yn+ 1 (5)
2 2

 
où yn+ 1 est une approximation de y tn+ 1 = y(tn + h2 ).
2 2
h
Le schéma (5) est implicite,
 on utilise une
 préduction d’Euler progressive de pas 2 en ramplaçont dans
yn+ 1 dans le membre f tn + h2 , yn+ 1 par yen+ 1 = yn + h2 f (tn , yn ). On obtient le schéma de point
2 2 2
milieu progressif :
Schéma de point milieu progressif :
yn+1 = yn + hf tn + h2 , yn + h2 f (tn , yn ) , n = 0, 1, · · · N − 1,
( 
(P M ) :
y0 = α.

Qui s’écrit aussi :


Schéma de point milieu progressif :


 K1 = f (tn , yn )


 K2 = f tn + h , yn + h K1
 
2 2
(P M ) :


 yn+1 = yn + hK2 , n = 0, 1, · · · N − 1,


y0 = α.

Exercice 2 Faire trois itérations avec h = 0.1 des méthodes d’Euler explicite et du point milieu pour
le problème de Cauchy : 
 y ′ (t) = t sin(y(t)), t ∈ [0, 1],
 y(0) = 2.

1. Méthode d’Euler :

 yn+1 = yn + hf (tn , yn ), n = 0, 1, · · · N − 1,
(EP ) :
 y = 2.
0

On a : h = 0.1, t0 = 0, y0 = 2 et f (tn , yn ) = tn sin(yn ).


(a) y0 = 2
(b) y1 = 2 + 0.1 × 0 × sin(2) = 2
(c) y2 = 2 + 0.1 × 0.1 × sin 2 = 2.0090929
(d) y3 = 2.0090929 + 0.1 × 0.2 × sin 2.0090929 = 2.02720249



 K1 = f (tn , yn )


 K2 = f tn + h , yn + h K1

 
2 2
2. Méthode de point milieu : (P M ) :
h h

 yn+1 = yn + hK2 = yn + hf tn + 2 , yn + 2 f (tn , yn )






y0 = 2.

On a : h = 0.1, t0 = 0, y0 = 2 et f (tn , yn ) = tn sin(yn ).


(a) Pour la première itération, on obtient :
K1 = f (t0 , y0 ) = 0 × sin 2 = 0
K2 = f t0 + h2 , y0 + h2 K1 = f (0.05, 2) = 0.05 sin(2) = 0.04546487


y1 = y0 + hK2 = 2.004546487

7
(b) Deuxième itération
t1 = 0.1, K1 = f (t1 , y1 ) = 0.090739603,
K2 = f t1 + h2 , y1 + h2 K1 = 0.135821987,


y2 = y1 + hK2 = 2.018128686
(c) troisième itération
K1 = f (t2 , y2 ) = 0.2 sin(y2 ) = 0.180320846, K2 = 0.224416910, y3 = 2.040570377

4 Etude générale des méthodes à un pas


On considère le problème de Cauchy :
 ′
y (t) = f (t, y(t)), t ∈ [t0 , t0 + T ]
(Pc ) :
y(0) = α.
Les méthodes à un pas sont les schémas numériques qui peuvent s’écrire sous la forme :
(
yn+1 = yn + hΦ(tn , yn , h), n = 0, 1, · · · N − 1
(Pa ) :
y0 = α
où Φ est une fonction qu’on supposera continue.
— Pour le schéma d’Euler progressif : Φ(tn , yn , h) = f (tn , yn ) n = 0, 1, · · · N − 1.

4.1 Consistance

Définition 3 L’erreur de consistance (locale) à l’instant tn est l’erreur commise en remplaçant la


solution approchée par la solution exacte y dans le schéma numérique (Pa ). c’ est la quantité :

en = y(tn+1 ) − y(tn ) − hΦ(tn , y(tn ), h), n = 0, 1, · · · N − 1.


N
X −1
On dit que le schéma (Pa ) est consistant si lim |en | = 0.
h→0
n=0

Théorème 4.1 (Condition nécessaire et suffisante de consistance)


Un schéma numérique à un pas est consistant si et seulement si

Φ(t, y, 0) = f (t, y), ∀ t ∈ [t0 , t0 + T ], ∀y ∈ R.

Exemple : Pour le schéma d’Euler progressif

Φ(t, y, h) = f (t, y) =⇒ Φ(t, y, 0) = f (t, y)

Le schéma d’Euler est consistant.

4.2 Stabilité
Soient yn , 0 ⩽ n < N et zn , 0 ⩽ n < N les solutions respectives des systèmes :
( (
yn+1 = yn + hΦ(tn , yn , h), zn+1 = zn + hΦ(tn , zn , h) + En ,
et
y0 fixé. z0 fixé.
La méthode est dite théoriquement stable s’il existe une constante M > 0 indépendante de h telle que :
h N
X −1 i
max |yn − zn | ⩽ M |y0 − z0 | + En
0⩽n<N
n=0

La constante M est appelée constante de stabilité.

8
Remarque 2 Cette notion de stabilité théorique signifie qu’une petite perturbation sur les données du
schéma (y0 , Φ) n’entraine qu’une petite perturbation sur la solution et ceci indépendamment de h.

Théorème 4.2 (Condition suffisante de stabilité)


Si Φ est L-Lipschitzienne en y : il existe L > 0, telle que ∀ x, y ∈ R, ∀t ∈ [t0 , t0 + T ] et h suffisamment
petit :
|Φ(t, x, h) − Φ(t, y, h)| ⩽ L|x − y|.

Alors la méthode est stable avec M = eLT (constante de stabilité).

Exemple : Si f est L-lipschitizienne par rapport à la deuxième variable, alors le schéma d’Euler
progressif est stable (Φ(t, y, h) = f (t, y)).

4.3 Convergence

Définition 4 On dit que la méthode (Pa ) est convergente si pour toute solution exacte y, de (Pc ) la
suite (yn ) de (Pa ) vérifie :
lim max |y(tn ) − yn | = 0.
h→0 0⩽n⩽N

max |y(tn ) − yn | est l’erreur globale .


0⩽n⩽N

Théorème 4.3 (Théorème de Lax)

Un schéma consistant et stable est convergent.

5 Ordre d’une méthode


Définition 5 Soit p ∈ N∗ , on dit qu’une méthode à un pas est d’ordre p s’il existe une constante C > 0
indépendante de h telle que
N
X −1
|en | ⩽ Chp
n=0

où |en | = |y(tn+1 ) − y(tn ) − hΦ(tn , y(tn ), h)| est l’erreur de consistance.

Théorème 5.1 (Condition nécessaire et suffisante pour que la méthode soit d’ordre p)
∂Φ ∂pΦ
On suppose que f est de classe C p sur [t0 , t0 + T ] × R et que les fonctions Φ, ,··· ,
∂h ∂hp
existent et sont continues sur [0, T ] × R × [0, 1]. Alors la méthode à un pas est d’ordre p, si pour tout
t ∈ [0, T ] et y ∈ R 


 Φ(t, y, 0) = f (t, y)
∂Φ(t, y, 0) 1 [1]


= f (t, y)




 ∂h 2

 .. ..
. .

 ∂ p−1 Φ(t, y, 0) 1 [p−1]

 = f (t, y)
∂hp−1 p




 p
∂ Φ(t, y, 0) 1
̸= f [p] (t, y)


∂hp

p+1


∂f (t, y) ∂f (t, y) ∂f [k] (t, y) ∂f [k] (t, y)
f [0] (t, y) = f (t, y), f [1] (t, y) = +f (t, y) , f [k+1] (t, y) = +f (t, y)
∂t ∂y ∂t ∂y

9
On vérifie sans difficulté par récurrence que, si y est solution de y ′ (t) = f (t, y(t)), on a
f [k] (t, y(t)) = y (k+1) (t)

Théorème 5.2 (Estimation d’erreur :)


Si la méthode à un pas est stable et consistante d’ordre p, alors elle est convergente et on a :

max |y(tn ) − yn | ⩽ M Chp


0⩽n⩽N

où M est la constante de stabilité et


1 ∂Φp
 
1
C=T ∥y (p+1) ∥∞ + (t, y, h)
(p + 1)! p! ∂hp ∞
Remarque 3
1. Le schéma d’Euler progressif est convergent d’ordre 1.
2. Le schéma de point milieu explicite est convergent d’ordre 2.
3. Le schéma de Heun est convergent d’ordre 2.
4. Le schéma de Crank-Nicolson est convergent d’ordre 2.

6 Méthodes Runge-Kutta d’ordre 4


C’est une méthode d’ordre 4 basée sur la formule d’intégration de Simpson et est donnée par par le
tableau de Butcher suivant :
0 0
1/2 1/2 0
1/2 0 1/2 0
1 0 0 1 0
1/6 2/6 2/6 1/6
Ce qui donne le schéma explicite de Runge-Kutta d’ordre 4 :
Méthode de Runge-Kutta d’ordre 4 :


 K1 = f (tn , yn )

h h
 



 K2 = f t n + 2 , yn + 2 K1

 K3 = f tn + h , yn + h K2

 
2 2
(RK4) :


 K4 = f (tn + h, yn + hK3 )

 h i
yn+1 = yn + h6 K1 + 2K2 + 2K3 + K4 , n = 0, 1, · · · N − 1,






y0 = α.

Application
Faire trois itérations avec h = 0, 1 de la méthode de Runge-Kutta d’ordre 4 pour l’ équation différentielle
suivante :
y ′ (t) = t sin(y(t)) et y(0) = 2


 K1 = f (tn , yn )

h h
 



 K 2 = f tn + 2 , yn + 2 K 1

 K3 = f tn + h , yn + h K2

 
2 2
Méthode de RK4 :
 K4 = f (tn + h,h yn + hK3 )



 i
 h


 yn+1 = y n + 6 K 1 + 2K 2 + 2K3 + K 4


y0 = 2.

10
On a : h = 0.1, t0 = 0, y0 = 2 et f (tn , yn ) = tn sin(yn ).

— Pour la première itération, on obtient :


K1 = f (t0 , y0 ) = 0 × sin 2 = 0
K2 = f (0 + 0.05, 2 + 0.05K  1 ) = f (0.05, 2) = 0.045464871
h h
K3 = f t0 + 2 , y0 + 2 K2 = 0.045417454
K4 = f (t0 +h h, y0 + hK3 ) = 0.090739802 i
y1 = y0 + h6 K1 + 2K2 + 2K3 + K4 = 2.004541741
— Deuxième itération
t1 = 0.1, K1 = f (t1 , y1 ) = 0.090739802
K2 = f (t1 + 0.05, y1 + 0.05K  1 ) = 0.135822288
K3 = f t1 + h2 , y1 + h2 K2 = 0.135678451
K4 = f (t1 +h h, y1 + hK3 ) = 0.180322498 i
y2 = y1 + h6 K1 + 2K2 + 2K3 + K4 = 2.018109471
— troisième itération
t2 = 0.2, K1 = f (t2 , y2 ) = 0.180322508
K2 = f (t2 + 0.05, y2 + 0.05K  1 ) = 0.224419018
h h
K3 = f t2 + 2 , y2 + 2 K2 = 0.224175580
K4 = f (t2 +h h, y2 + hK3 ) = 0.267507065 i
y3 = y2 + h6 K1 + 2K2 + 2K3 + K4 = 2.0405264499

7 Schéma A-stable (absolument stable)


Soit β > 0 un nombre réel positif et considérons le problème de Cauchy
 ′
y (t) = −βy(t), t > 0
(Pc ) :
y(0) = y0 .
où y0 ̸= 0 est une valeur donnée. Sa solution est y(t) = y0 e−βt , donc lim y(t) = 0.
t→+∞
Soit h > 0 un pas du temps donné, tn = nh, pour n ∈ N et notons yn ≈ y(tn ) une approximation de
la solution y au point tn .
Si lim yn = 0, on dit que le schéma est A-stable.
n→+∞
1. Déterminer l’expression explicite de (yn )n∈N par le schéma d’Euler progressif.Ce schéma est-il
A-stable ?
Réponse : Le schéma d’Euler progressif :
yn+1 = yn + hf (tn , yn ) = yn + h(−β)yn = (1 − βh)yn , y0 donnée
(yn ) est une suite géométrique de raison (1 − βh) =⇒ yn = (1 − βh)n y0
Par conséquence lim yn = 0, si et seulement
n→+∞

2
|1 − βh| < 1 ⇐⇒ −1 < 1 − βh < 1 ⇐⇒ 0 < βh < 2 ⇐⇒ 0 < h <
β
le schéma d’Euler progressif est A-stable ssi h < β2 ·
2. Déterminer l’expression de explicite de (yn )n∈N par le schéma d’Euler rétrograde (implicite ).Ce
schéma est-il A-stable ?
Réponse : Le schéma d’Euler rétrograde (implicite ) :
 
1
yn+1 = yn + hf (tn+1 , yn+1 ) = yn + h(−β)yn+1 =⇒ (1 + hβ)yn+1 = yn =⇒ yn+1 = yn
1 + hβ
   n
1 1
(yn ) est une suite géométrique de raison =⇒ yn = y0
1 + hβ 1 + hβ
 
1
Remarquons que 0 < 1+hβ < 1, donc pour tout h > 0, lim yn = 0.
n→+∞
Donc le schéma d’Euler implicite est inconditionnellement A-stable.

11

Vous aimerez peut-être aussi