Vous êtes sur la page 1sur 90

Analyse Numérique - 2

ENSEM ISN 1A, Ana Num

Didier Schmitt

IECL

Printemps 2022

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles

Chapitre 6 : Résolution numérique des


équations différentielles

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Quelques résultats théoriques

Quelques résultats théoriques

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Quelques résultats théoriques

Définitions
On appelle équation différentielle d’ordre 1 les équations de la forme

y ′ (t) = f (t, y (t)) , ∀t∈I

où I est un intervalle de R, y : I → RN est une fonction vectorielle


de la variable t et f est une application de I × RN dans RN .
On appelle équation différentielle d’ordre p les équations de la forme
 
y (p) (t) = f t, y (t), y ′ (t), . . . , y (p−1) (t) , ∀ t ∈ I

où I est un intervalle de R, y : I → RN est une fonction vectorielle


de la variable t et f est une application de I × (RN )p dans RN .

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Quelques résultats théoriques

Remarque
Toute équation différentielle d’ordre p peut se réécrire comme un système
différentiel d’ordre 1.

Remarque
Il convient donc de savoir réécrire une équation différentielle d’ordre p
comme un système différentiel d’ordre 1.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Quelques résultats théoriques

En posant  
y (t)

 y ′ (t) 

X (t) =  . ,
 . 
 . 
(p−1)
y (t)

nous avons alors


y ′ (t)
   y ′ (t) 
 y ′′ (t)   y ′′ (t) 
′   
.

X (t) =  . =
.

 .  
.

 .     
y (p) (t) f t, y (t), y ′ (t), . . . , y (p−1) (t)

La fonction vectorielle X est donc solution de l’équation différentielle


d’ordre 1
X ′ (t) = F (t, X (t)) ,
où
x1 x2
    
  x2   x3 
F (t, X ) = F t,  .  =  . .
    
  ..   .
. 
xp f (t, x1 , x2 , . . . , xp )

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Quelques résultats théoriques

Définition
Étant donnés un intervalle I et une fonction f : I × RN → RN , résoudre
l’équation différentielle

y ′ (t) = f (t, y (t)) , ∀t∈I

signifie déterminer toutes les fonctions y : I → RN , dérivables sur I et


vérifiant cette équation.

Remarque
En général, une équation différentielle admet plusieurs solutions.
Exemple :
L’équation y ′ (t) = y (t) admet une infinité de solutions à savoir
 
y: R → R
; C ∈ R .
t 7→ Ce t

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Quelques résultats théoriques

Pour espérer caractériser une des solutions, nous devons donc ajouter une
condition initiale, qui décrit le système à un instant initial :
Définition
Soient I un intervalle, f : I × RN → RN , t0 ∈ I et y0 ∈ RN .
On appelle problème de Cauchy la recherche d’une solution de
l’équation différentielle

y ′ (t) = f (t, y (t)) , ∀t∈I

sous l’hypothèse supplémentaire

y (t0 ) = y0 .

t0 est appelé instant initial et y0 condition initiale.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Quelques résultats théoriques

Remarque
Pour une équation d’ordre p, le problème de Cauchy correspond à la
recherche d’une solution de l’équation vérifiant de plus

y (t0 ) = y0 , y ′ (t0 ) = y1 , ..., y (p−1) (t0 ) = yp−1 .

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Quelques résultats théoriques

Quelques exemples de problèmes de Cauchy - Exemple 1


Soit a ∈ R
y ′ (t) = ay (t), ∀t > 0

y (0) = y0
Ce problème admet une unique solution définie sur I = [0, +∞[, à
savoir
y : [0, ∞[ → R
t 7→ y0 e at
La solution de ce problème de Cauchy est bien définie sur tout
l’intervalle I .
On dit qu’il y a existence globale de la solution.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Quelques résultats théoriques

Quelques exemples de problèmes de Cauchy - Exemple 2


Soit
y ′ (t) = y 2 (t), ∀t > 0

y (0) = y0 > 0
Ce problème admet une unique solution uniquement définie sur
l’intervalle [0, y10 [, à savoir

y : [0, y10 [ → R
y0
t 7 → 1−y0 t

Ce problème de Cauchy admet donc une unique solution. Toutefois,


il n’y a pas existence globale de la solution qui est définie seulement
sur [0, y10 [.
1
Le temps d’existence dépend de la donnée y0 : Tmax (y0 ) = y0 .
On remarque aussi que lim |y (t)| = +∞.

t→Tmax
On dit qu’il y a explosion en temps fini de la solution.
Didier Schmitt IECL
Analyse Numérique - 2
Résolution numérique des équations différentielles
Quelques résultats théoriques

Quelques exemples de problèmes de Cauchy - Exemple 3


Soit  1
y ′ (t) = y 3 (t), ∀t > 0
y (0) = 0
La fonction nulle est solution évidente de ce problème de Cauchy
Mais vous pouvez vérifier que pour tout a ∈ [0, ∞] la fonction

ya : [0, ∞[ → ( R
0 si t ∈ [0, a]
t 7→ 2
3
3 (t − a) 2 si t ≥ a

est aussi solution.


Nous avons donc une infinité de solutions ! Même en imposant une
condition initiale !

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Quelques résultats théoriques

Avant de vous donner le résultat principal, voici une dernière définition


Définition
Une solution du problème de Cauchy est dite maximale si elle n’est la
restriction d’aucune autre solution.
Voici le principal résultat qui donne l’existence et l’unicité d’une solution
maximale :
Théorème de Cauchy-Lipschitz
Soient I un intervalle, f : I × RN → RN , une fonction continue et
localement lipschitzienne en la seconde variable.
Alors pour tout t0 ∈ I et y0 ∈ RN , le problème de Cauchy
 ′
y (t) = f (t, y (t)), ∀t ∈ I
y (t0 ) = y0

admet une unique solution maximale.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Quelques résultats théoriques

Remarque
Dans les exemples 1 et 2, le théorème s’applique bien puisque dans
les deux cas la fonction f est C 1 (f (t, x) = ax dans le premier cas et
f (t, x) = x 2 dans le deuxième cas).
Nous retrouvons donc l’existence et l’unicité d’une solution.
1
En revanche, dans l’exemple 3, nous avons f (t, x) = x 3 qui n’est
pas lipschitzienne en 0.
Nous avons donc l’existence de solutions, mais pas l’unicité.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Quelques résultats théoriques

Concernant le problème de l’existence globale, nous avons ce critère :


Critère d’existence globale
Soit y : J → Rn une solution maximale du problème de Cauchy définie
sur J ⊆ I .
Alors, l’une des deux affirmations suivantes est vraie :
J = I et la solution est globale.
J ⊈ I et dans ce cas, il existe τ1 > 0 et τ2 > 0 tels que
J =]t0 − τ1 , t0 + τ2 [ et

lim ∥y (t)∥ = +∞ ou lim ∥y (t)∥ = +∞.


t→t0 −τ1 t→t0 +τ2

Il y a explosion en temps fini.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Quelques résultats théoriques

Conclusion
Avant d’essayer de résoudre numériquement un problème de Cauchy, il
convient donc d’étudier, si possible :
L’existence d’une solution.
L’unicité de la solution.
S’il y a existence globale ou explosion en temps fini de la solution.
En effet
S’il n’y a pas unicité de la solution, quelle solution va-t-on obtenir
numériquement ?
S’il y a explosion en temps fini de la solution, que va t-il se passer si
on essaye d’obtenir une approximation de la solution au delà du
temps d’existence ?

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Introduction

Résolution numérique d’un problème de


Cauchy

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Introduction

Introduction
Nous cherchons à résoudre numériquement, i.e. nous cherchons une
approximation numérique de la solution du problème de Cauchy
 ′
y (t) = f (t, y (t)) , 0 ≤ t ≤ T
y (0) = y 0

avec y 0 ∈ Rn et f : [0, +∞[×Rn → Rn .

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Introduction

Introduction
Nous cherchons à résoudre numériquement, i.e. nous cherchons une
approximation numérique de la solution du problème de Cauchy
 ′
y (t) = f (t, y (t)) , 0 ≤ t ≤ T
y (0) = y 0

avec y 0 ∈ Rn et f : [0, +∞[×Rn → Rn .


Nous pouvons remarquer que ce problème est équivalent à
Z t
y (t) = y 0 + f (s, y (s))ds ∀ t ∈ [0, T ].
0

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Introduction

Introduction
Donc pour obtenir une approximation numérique, il suffit d’obtenir
une approximation numérique de
Z t
f (s, y (s))ds
0

et pour cela nous pouvons utiliser les idées et les méthodes vues
dans le chapitre précédent.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Introduction

Introduction
En introduisant une subdivision

0 = t0 < t1 < t2 < . . . < tN = T ,

notre problème implique que


 Z tn+1
y (tn+1 ) = y (tn ) + f (t, y (t))dt, ∀ n ∈ J0, N − 1K.

tn
0
y (0) = y

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Introduction

Introduction
En introduisant une subdivision

0 = t0 < t1 < t2 < . . . < tN = T ,

notre problème implique que


 Z tn+1
y (tn+1 ) = y (tn ) + f (t, y (t))dt, ∀ n ∈ J0, N − 1K.

tn
0
y (0) = y

Les différentes méthodes numériques différent par le choix de


l’évaluation numérique des intégrales
Z tn+1
f (t, y (t))dt.
tn

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Les méthodes à un pas

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Pour décrire les méthodes à un pas, commençons par étudier une


méthode très simple : la méthode d’Euler explicite.
La méthode d’Euler explicite
Nous supposerons que notre problème de Cauchy admet une solution
y sur [0, T ].
Nous noterons M0 = max ∥y (t)∥
0≤t≤T

Nous supposerons que f est de classe C 1 sur [0, T ] × RN . Ainsi nous


aurons
∀y1 , y2 avec ∥y1 ∥ , ∥y2 ∥ ≤ M

∥f (t, y1 ) − f (t, y2 )∥ ≤ L (M) ∥y1 − y2 ∥

∀t ∈ [0, T ] ∥y ′ (t)∥ ≤ M1 , ∥y ′′ (t)∥ ≤ M2 .


On introduit la subdivision 0 = t0 < t1 < t2 < . . . < tN = T
On note hn = tn+1 − tn pour tout n ∈ J0, N − 1K et h = max hn .
n∈J0,N−1K

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

La méthode d’Euler explicite


Rappelons que notre problème implique que
 Z tn+1
y (tn+1 ) = y (tn ) + f (t, y (t))dt, ∀ n ∈ J0, N − 1K

tn
y (0) = y 0

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

La méthode d’Euler explicite


Rappelons que notre problème implique que
 Z tn+1
y (tn+1 ) = y (tn ) + f (t, y (t))dt, ∀ n ∈ J0, N − 1K

tn
y (0) = y 0

La méthode d’Euler
R t classique ou explicite correspond à une
approximation de tnn+1 f (t, y (t))dt par la méthode des rectangles à
gauche : Z tn+1
f (t, y (t))dt ≃ hn f (tn , y (tn )).
tn

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

La méthode d’Euler explicite


Rappelons que notre problème implique que
 Z tn+1
y (tn+1 ) = y (tn ) + f (t, y (t))dt, ∀ n ∈ J0, N − 1K

tn
y (0) = y 0

La méthode d’Euler
R t classique ou explicite correspond à une
approximation de tnn+1 f (t, y (t))dt par la méthode des rectangles à
gauche : Z tn+1
f (t, y (t))dt ≃ hn f (tn , y (tn )).
tn

On obtient alors, en notant yn une approximation de y (tn ) :



yn+1 = yn + hn f (tn , yn ), ∀ n ∈ J0, N − 1K
y0 = y h

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Remarque
La méthode d’Euler explicite est très simple à mettre en oeuvre :

yn+1 = yn + hn f (tn , yn ), ∀ n ∈ J0, N − 1K
y0 = y h

En effet, à chaque itération, connaissant yn , il suffit d’évaluer


f (tn , yn ) et on obtient alors directement yn+1 .

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Il est nécessaire d’analyser dans quelle mesure la valeur calculée yn


approche suffisamment la valeur exacte y (tn ) et donc d’évaluer l’erreur
de discrétisation :

en = y (tn ) − yn , ∀ n ∈ J0, NK.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Il est nécessaire d’analyser dans quelle mesure la valeur calculée yn


approche suffisamment la valeur exacte y (tn ) et donc d’évaluer l’erreur
de discrétisation :

en = y (tn ) − yn , ∀ n ∈ J0, NK.

Définition
On dira que la méthode est convergente si

max ∥en ∥ tend vers 0 lorsque, h tend vers 0 et y h tend vers y 0 .


0≤n≤N

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Il est nécessaire d’analyser dans quelle mesure la valeur calculée yn


approche suffisamment la valeur exacte y (tn ) et donc d’évaluer l’erreur
de discrétisation :

en = y (tn ) − yn , ∀ n ∈ J0, NK.

Définition
On dira que la méthode est convergente si

max ∥en ∥ tend vers 0 lorsque, h tend vers 0 et y h tend vers y 0 .


0≤n≤N

Remarque :
Si la méthode est convergente, en choisissant h assez petit, et y h assez
voisin de y 0 , on obtient une bonne approximation de y (tn ), ∀ n ∈ J0, NK.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Remarques :
Il semblerait plus naturel de poser directement y0 = y 0 dans notre
schéma. Cependant, dans la pratique, si y 0 est réel, il ne pourra pas
toujours être pris en compte de façon exacte à cause des arrondis.
Une analyse correcte nécessite donc de supposer y 0 ̸= y h .

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Remarques :
Il semblerait plus naturel de poser directement y0 = y 0 dans notre
schéma. Cependant, dans la pratique, si y 0 est réel, il ne pourra pas
toujours être pris en compte de façon exacte à cause des arrondis.
Une analyse correcte nécessite donc de supposer y 0 ̸= y h .
Comme dans tout calcul numérique, il se pose un problème de
stabilité :
il est nécessaire de connaı̂tre les conséquences d’une petite variation
de y h ainsi que celles d’erreurs sur le calcul de f (tn , yn ).

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Définition
Nous dirons que la méthode est stable s’il existe une constante K telle
que " #
N−1
X
max ∥yn − zn ∥ ≤ K ∥y0 − z0 ∥ + ∥εn ∥
n
n=0

pour tout (zn ) solution de

zn+1 = zn + hn f (tn , zn ) + εn , ∀ n ∈ J0, N − 1K.

Cette notion de stabilité implique que de petites perturbations sur les


données et sur tous les calculs intermédiaires n’entraı̂nent que de
”petites” perturbations du résultat.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

On dégage aussi une notion de consistance d’un schéma numérique :


l’erreur de consistance représente l’erreur faite au n-ième pas en
remplaçant l’équation différentielle par l’équation discrétisée, soit ici :

εn = y (tn+1 ) − y (tn ) − hn f (tn , y (tn )) .

Définition
Nous dirons que la méthode est consistante si
N−1
X
lim ∥εn ∥ = 0.
h→0
n=0

Vérifions la stabilité et la consistance pour la méthode d’Euler :

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Stabilité de la méthode d’Euler explicite


Soient (yn ), (zn ) et (εn ), les suites définies par

yn+1 = yn + hn f (tn , yn ),
∀n ∈ J0, N − 1K.
zn+1 = zn + hn f (tn , zn ) + εn

Soit n ∈ J0, N − 1K. Nous avons

∥zn+1 − yn+1 ∥ ≤ ∥zn − yn ∥ + hn ∥f (tn , zn ) − f (tn , yn )∥ + ∥εn ∥

d’où
∥zn+1 − yn+1 ∥ ≤ (1 + hn L)∥zn − yn ∥ + ∥εn ∥.
Rappelons que
ex ≥ 1 + x ∀ x ∈ R.
Par conséquent,

∥zn+1 − yn+1 ∥ ≤ e Lhn ∥zn − yn ∥ + ∥εn ∥.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Stabilité de la méthode d’Euler explicite


Nous obtenons alors par récurrence que :
n−1
X
∥zn − yn ∥ ≤ e Ltn ∥z0 − y0 ∥ + 2 e L(tn −ti+1 ) ∥εi ∥, ∀ nJ0, NK,
i=0

d’où !
N−1
X
max ∥zn − yn ∥ ≤ K ∥z0 − y0 ∥ + ∥εi ∥
n∈J0,NK
i=0

avec K = e LT .

La méthode d’Euler explicite est donc stable.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Consistance de la méthode d’Euler explicite


Soit n ∈ J0, N − 1K. Nous avons

εn = y (tn+1 ) − y (tn ) − hn f (tn , y (tn ))


Z tn+1 Z tn+1
= y ′ (t)dt − f (tn , y (tn ))dt
tn tn
Z tn+1 Z tn+1 Z t
= y ′ (t) − y ′ (tn )dt = y ′′ (s)ds.
tn tn tn

Comme nous avons supposé

∥y ′′ (t)∥ ≤ M2 , ∀ t ∈ [0, T ],

nous obtenons finalement

∥εn ∥ ≤ M2 h(tn+1 − tn ), ∀ n ∈ J0, N − 1K.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Consistance de la méthode d’Euler explicite


Par conséquent
N−1
X N−1
X
∥εi ∥ ≤ Mh (ti+1 − ti ) = MhT ,
i=0 i=0

d’où
N−1
X
lim ∥εi ∥ = 0.
h→0
i=0

La méthode d’Euler est donc consistante.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Nous pouvons maintenant montrer la convergence de la méthode d’Euler


explicite.
Convergence de la méthode d’Euler explicite
Soit n ∈ J0, NK. Posons zn = y (tn ). Nous avons alors
Z tn+1
zn+1 = y (tn+1 ) = y (tn ) + f (t, y (t))dt = y (tn ) + hn f (tn , y (tn )) + εn
tn

avec Z tn+1
εn = f (t, y (t))dt − hn f (tn , y (tn ))
tn

soit encore
zn+1 = zn + hn f (tn , zn ) + εn
avec
εn = y (tn+1 ) − y (tn ) − hn f (tn , y (tn )).

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Convergence de la méthode d’Euler explicite


Avec ces notations, nous avons

∥en ∥ = ∥y (tn ) − yn ∥ = ∥zn − yn ∥, ∀ n ∈ J0, NK.

Maintenant, comme la méthode d’Euler explicite est stable


N−1
!
X
max ∥en ∥ ≤ K ∥e0 ∥ + ∥εi ∥ .
n∈J0,NK
i=0

Or, d’après la consistance de la méthode d’Euler explicite


N−1
X
∥εi ∥ ≤ hM2 T .
i=0

Donc
max ∥en ∥ ≤ e LT (∥e0 ∥ + hM2 T ) .
n∈J0,NK

La méthode d’Euler explicite converge.


Didier Schmitt IECL
Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

stabilité de la méthode d’Euler


+
consistance de la méthode d’Euler
=
convergence de la méthode d’Euler

Remarque :
On montrera de façon plus générale que pour les méthodes à un pas,
consistance et stabilité impliquent convergence.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Influence des erreurs d’arrondis


Si on veut calculer y (T ) avec une précision donnée ε, comme nous
avons
∥eN ∥ ≤ e LT (∥e0 ∥ + hM2 T ) ,
il nous faut choisir ∥e0 ∥ assez petit : supposons qu’on puisse le
choisir nul.
En théorie, on peut alors choisir h assez petit pour que
e LT hM2 T < ε.
Cependant, dans la pratique, il est illusoire de vouloir choisir h
”trop” petit, car alors les erreurs d’arrondis prennent le relais de
l’erreur de discrétisation.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Influence des erreurs d’arrondis


En effet, le calcul
yn+1 := yn + hn f (tn , yn )
donne lieu à
une erreur µn sur le calcul de f (tn , yn )
à une erreur d’arrondi ρn sur le résultat final
L’algorithme de l’ordinateur est donc

Zn+1 = Zn + hn (f (tn , Zn ) + µn ) + ρn
= Zn + hn f (tn , Zn ) + hn µn + ρn

D’après le résultat de stabilité on a


N−1
!
X
LT
∥yN − ZN ∥ ≤ e ∥y0 − Z0 ∥ + (hn ∥µn ∥ + ∥ρn ∥) .
i=0

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Influence des erreurs d’arrondis


Supposons ∥µn ∥ ≤ µ et ∥ρn ∥ ≤ ρ alors
N−1 N−1
!
X X
LT
∥yN − ZN ∥ ≤ e ∥y0 − Z0 ∥ + hn µ + ρ
i=0 i=0
≤ e LT (∥y0 − Z0 ∥ + T µ + Nρ) .

Or, dans le cas d’un pas constant pour simplifier, N = Th d’où


 
LT T
∥yN − ZN ∥ ≤ e ∥y0 − Z0 ∥ + T µ + ρ .
h

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Influence des erreurs d’arrondis


Par conséquent

EN = ∥y (tN ) − ZN ∥ ≤ ∥eN ∥ + ∥yN − ZN ∥


 
LT T
≤ e hM2 T + ∥y0 − Z0 ∥ + T µ + ρ .
h

Il en résulte que lorsque h tend vers 0, en général, les erreurs


d’arrondis tendent vers +∞ ce qui est normal puisque nous
augmentons le nombre d’opérations.
On peut essayer de voir quel serait le pas h optimal qui rendrait EN
minimum.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Influence des erreurs d’arrondis


Par conséquent

EN = ∥y (tN ) − ZN ∥ ≤ ∥eN ∥ + ∥yN − ZN ∥


 
LT T
≤ e hM2 T + ∥y0 − Z0 ∥ + T µ + ρ .
h

Il en résulte que lorsque h tend vers 0, en général, les erreurs


d’arrondis tendent vers +∞ ce qui est normal puisque nous
augmentons le nombre d’opérations.
On peut essayer de voir quel serait le pas h optimal qui rendrait EN
minimum. q
Le minimum est atteint pour h = h∗ = Mρ2 i.e. autour de h∗ les
erreurs d’arrondis s’équilibrent avec celles dues à la méthode.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Remarques :
Un bon choix sera bien sûr h ≥ h∗ : il est inutile d’augmenter le coût
de calcul pour rien !
Les calculs ci-dessus sont faits de façon ”pessimiste” : souvent les
erreurs d’arrondis se compensent dans une certaine mesure (mais
c’est aléatoire).
On peut retrouver le fait qu’il est illusoire de vouloir prendre h trop
petit : on a
yn+1 = yn + hf (tn , yn )
Si h est trop petit alors le terme hf (tn , yn ) à ajouter est trop petit
pour être pris en compte après arrondis et alors

yn+1 = yn

On obtient une suite stationnaire !

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Remarques :
Dans l’inégalité
 
LT T
EN ≤ e hM2 T + ∥y0 − Z0 ∥ + T µ + ρ
h

on voit comment se propage les erreurs d’arrondis sur la donnée


initiale ∥y0 − Z0 ∥.
Son impact est majoré par e LT ∥y0 − Z0 ∥ ce qui est raisonnable ... si
e LT n’est pas trop grand !

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Exemple 1

y ′ (t) = 3y (t) − 3t

t ∈ [0, 5]
y (0) = 13

1
La solution est y (t) = 3 + t.
Ici L = 3 donc pour T = 5, nous avons e LT = e 15 ≃ 3.106 .
Maintenant, si on considère le même problème avec une donnée
initiale z(0) = 31 + ϵ la solution est z(t) = 31 + t + ϵe 3t .
Par conséquent z(5) = y (5) + ϵe 15 ≃ y (5) + 3ϵ106 .
Donc si on travail avec un ordinateur avec une précision machine de
10−6 , il sera impossible d’approcher y (5) et ceci indépendamment
du choix de la méthode numérique.
Le problème est mal conditionné.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Exemple 2

y ′ (t) = −150 y (t) + 50,



t ∈ [0, 1]
y (0) = 31

La solution est y (t) = 31 .


Ici le problème est bien conditionné. En effet, si on introduit une
perturbation ϵ sur la donnée initiale on a

|y (t) − z(t)| ≤ ϵe −150t , ∀ t ≥ 0.

La méthode d’Euler conduit à

yn+1 = yn + hn (−150yn + 50),

soit  
1 1
yn+1 − = (1 − 150hn ) yn − .
3 3
Didier Schmitt IECL
Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Exemple 2
1
Dans le cas d’un pas constant hn = h = 50 , on a donc
   
1 n 1 1
yn+1 − = (1 − 150h) y0 − = (−2)n y0 − .
3 3 3

En particulier
   
50 1 15 1
y50 − y (1) = (−2) y0 − ≃ 10 y0 − !
3 3

Ceci montre que le pas est choisi trop grand. D’un autre côté, si on
le diminue, on tombera sur des problèmes d’arrondis !
La méthode d’Euler explicite n’est pas un algorithme numériquement
stable.
Bien qu’elle satisfasse la condition de stabilité théorique : le
coefficient K = e LT est trop grand car ici T = 1 et L = 150

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Exemple 3

y ′ (t) = −λy (t) λ > 0



y (0) = y0

La solution de ce problème est y (t) = y0 e −λt .


Le problème est bien conditionné. En effet, si on introduit une
perturbation ϵ sur la donnée initiale on a

|y (t) − z(t)| ≤ ϵe −λt , ∀ t ≥ 0.

La méthode d’Euler appliquée à ce problème avec un pas constant h


donne
yn+1 = yn − λhyn = (1 − λh)yn
et donc
yn = (1 − λh)n y0 .

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Exemple 3

yn = (1 − λh)n y0

Bien que la solution exacte soit bornée

|y (t)| ≤ |y0 | ∀ t ≥ 0,

on voit que si |1 − λh| > 1 alors la solution calculée yn aura un


module de plus en plus grand, d’ou un phénomène d’instabilité
La condition de stabilité s’écrit donc

λh < 2

Ainsi il sera nécessaire de prendre h d’autant plus petit que λ est


grand.
Mais si h est trop petit, alors il y a des problèmes d’arrondis !
Didier Schmitt IECL
Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

La méthode d’Euler implicite


Afin de remédier au problème d’instabilité soulevé ci-dessous, on a
souvent recours à une méthode de type implicite comme la suivante :

yn+1 = yn + hn f (tn+1 , yn+1 ) , ∀ n ∈ J0, N − 1K,
y0 = y h .
Rt
Elle provient de l’intégration de tnn+1 f (t, y (t)) dt par une méthode des
rectangles à droite :
Z tn+1
f (t, y (t)) dt ≃ hn f (tn+1 , y (tn+1 )).
tn

Il s’agit de la méthode d’Euler Explicite.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

La méthode d’Euler implicite


La relation
yn+1 = yn + hn f (tn+1 , yn+1 )
définit yn+1 de façon implicite.
Cette méthode est donc moins simple d’utilisation que la méthode
d’Euler explicite.
À chaque itération, il faut résoudre cette équation : admet-elle une
solution ? est-elle unique ?
Généralement, la résolution numérique de cette équation nécessitera
l’utilisation d’une méthode itérative (Newton, Point fixe,...).
Le coût d’une itération est donc beaucoup plus lourd que dans la
méthode d’Euler explicite.
Mais en contrepartie, la stabilité est grandement améliorée !

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Retour à l’exemple 3

y ′ (t) = −λy (t) λ > 0



y (0) = y0

On a, avec un pas constant h, yn+1 = yn − λhyn+1 soit


yn
yn+1 =
(1 + λh)
ou encore
y0
yn = .
(1 + λh)n
En particulier, on a |yn | ≤ |y0 | pour tout λ > 0 et pour tout h > 0.
Par ailleurs, on montre que cette méthode converge tout aussi bien
que la précédente.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Étude générale des méthodes à un pas


Une méthode à un pas s’écrit de façon générale

yn+1 = yn + hn Φ(tn , yn , hn ), ∀ n ∈ J0, N − 1K
y0 = y h

L’approximation yn+1 de y (tn+1 ) est donc obtenue uniquement à


partir de tn , de hn et de yn l’approximation de y (tn ) obtenue au pas
précédent.
(les méthodes multi-pas font intervenir y (tn ), mais aussi y (tn−1 ),...)
Cette méthode peut être implicite ou explicite.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Étude générale des méthodes à un pas


Une méthode à un pas s’écrit de façon générale

yn+1 = yn + hn Φ(tn , yn , hn ), ∀ n ∈ J0, N − 1K
y0 = y h

Exemples
Euler explicite : yn+1 = yn + hn f (tn , yn ). Ici

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

Φ est indépendante de h.
Euler implicite : yn+1 = yn + hn f (tn+1 , yn+1 ). Ici

Φ(t, y , h) = f (t + h, Y )

avec Y solution de l’équation

Y = y + hf (t + h, Y )
Didier Schmitt IECL
Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Pour les méthodes à un pas, on retrouve les notions de consistance, de


stabilité et de convergence déjà vues dans le cas particulier de la méthode
d’Euler explicite.
Définition
On dit que la méthode est consistante si pour toute solution y de
y ′ (t) = f (t, y (t)), on a
N−1
X
lim ∥εn ∥ = 0
h→0
n=0

avec
εn = y (tn+1 ) − y (tn ) − hn Φ(tn , y (tn ), hn ).

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Définition
On dit que la méthode est stable s’il existe une constante M
indépendante de h, telle que pour toutes suites (yn ), (zn ) et (εn ) vérifiant

yn+1 = yn + hn Φ(tn , yn , hn )

zn+1 = zn + hn Φ(tn , zn , hn ) + εn
on a " #
N−1
X
max ∥zn − yn ∥ ≤ M ∥y0 − z0 ∥ + ∥εn ∥ .
n∈J0,NK
n=0

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Définition
On dit que la méthode est convergente si
max ∥y (tn ) − yn ∥ tend vers 0 lorsque h tend vers 0 et y h tend vers y 0 .
n∈J0,NK

Et comme dans le cas particulier de la méthode d’Euler explicite, pour les


méthodes à un pas consistance et stabilité impliquent la convergence :
Théorème
Si une méthode à un pas est stable et consistante alors elle est
convergente.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Démonstration
Posons zn = y (tn ). On a alors
zn+1 = y (tn+1 )
= y (tn ) + hn Φ(tn , y (tn ), hn ) + εn
= zn + hn Φ(tn , zn , hn ) + εn

avec
εn = y (tn+1 ) − y (tn ) − hn Φ(tn , y (tn ), hn )
Comme la méthode est supposée stable on a
" N−1
# " N−1
#
X h 0
X
max ∥zn − yn ∥ ≤ M ∥y0 − z0 ∥ + ∥εn ∥ ≤ M ∥y − y ∥ + ∥εn ∥ .
n∈J0,NK
n=0 n=0

Maintenant, comme la méthode est supposée consistante, on a


N−1
X
lim ∥εn ∥ = 0.
h→0
n=0

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Nous allons maintenant préciser la notion de consistance en introduisant


la notion d’ordre :
Définition
On dira que la méthode à un pas est d’ordre p (p > 0), si pour toute
solution y de y ′ (t) = f (t, y (t)) telle que y ∈ C p+1 ([t0 , t0 + T ]), il existe
un réel K ne dépendant que de y et Φ tel que
N−1
X
∥εn ∥ ≤ Khp
n=0

avec
εn = y (tn+1 ) − y (tn ) − hn Φ(tn , y (tn ), hn ).

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Théorème
Si une méthode à un pas est stable et d’ordre p et si
f ∈ C p ([t0 , t0 + T ] × Rn ), alors nous avons

∥y (tn ) − yn ∥ ≤ M ∥y h − y0 ∥ + Khp
 
∀n ∈ J0, NK.

Exemples :
Nous avons vu que la méthode d’Euler explicite est d’ordre 1.
Il en est de même pour la méthode d’Euler implicite.
Nous allons le montrer en considérant plus généralement la
θ-méthode.

Remarque
Plus l’ordre de la méthode sera grand, plus la méthode sera
performante.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

La θ-méthode
La θ-méthode est définie par

yn+1 = yn + hn [θf (tn+1 , yn+1 ) + (1 − θ)f (tn , yn )] , ∀ n ∈ J0, N − 1K
y0 = y h

avec θ ∈ [0, 1].

Remarques :
Il s’agit bien d’une méthode à un pas.
Pour θ = 0, on retrouve Euler explicite.
Pour θ = 1, on retrouve Euler implicite.
Pour θ ∈]0, 1], la méthode est implicite.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Stabilité de la θ-méthode
Soient (yn ), (zn ) et (εn ), les suites définies pour tout n ∈ J0, N − 1K par
yn+1 = yn + hn [θf (tn+1 , yn+1 ) + (1 − θ)f (tn , yn )]

zn+1 = zn + hn [θf (tn+1 , zn+1 ) + (1 − θ)f (tn , zn )] + εn


On a
∥zn+1 − yn+1 ∥ ≤ ∥zn − yn ∥ + hn θ∥f (tn+1 , zn+1 ) − f (tn+1 , yn+1 )∥
+hn (1 − θ)∥f (tn , zn ) − f (tn , yn )∥ + ∥εn ∥

d’où
∥zn+1 − yn+1 ∥ ≤ ∥zn − yn ∥ + hn θL∥zn+1 − yn+1 ∥ + hn (1 − θ)L∥zn − yn ∥ + ∥εn ∥

et en supposant que hn θL < 1


1 + hn (1 − θ)L 1
∥zn+1 − yn+1 ∥ ≤ ∥zn − yn ∥ + ∥εn ∥.
1 − hn θL 1 − hn θL

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Stabilité de la θ-méthode
 
hn L 1
∥zn+1 − yn+1 ∥ ≤ 1+ ∥zn − yn ∥ + ∥εn ∥
1 − hn θL 1 − hn θL
d’où pour hn ≤ 1/(2θL)
∥zn+1 − yn+1 ∥ ≤ (1 + hn 2L) ∥zn − yn ∥ + 2∥εn ∥

donc (1 + x ≤ e x )
∥zn+1 − yn+1 ∥ ≤ e 2Lhn ∥zn − yn ∥ + 2∥εn ∥

et par récurrence, on obtient que pour tout n ∈ J0, NK


n−1
X
∥zn − yn ∥ ≤ e 2Ltn ∥z0 − y0 ∥ + 2 e 2L(tn −ti+1 ) ∥εi ∥
i=0

d’où !
n−1
X
2LT
max ∥zn − yn ∥ ≤ 2e ∥z0 − y0 ∥ + ∥εi ∥ .
n∈J0,NK
i=0
Didier Schmitt IECL
Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Consistance de la θ-méthode
Pour simplifier, nous supposerons que la dimension est 1.
Soit n ∈ J0, N − 1K
εn = y (tn+1 ) − y (tn ) − hn [θf (tn+1 , y (tn+1 )) + (1 − θ)f (tn , y (tn ))] .

D’après la formule de Taylor


hn2 (3)
y ′ (tn+1 ) = y ′ (tn ) + hn y ′′ (tn ) + y (cn ) avec cn ∈ [tn , tn+1 ]
2
hn2 ′′ h3
y (tn+1 ) = y (tn ) + hn y ′ (tn ) + y (tn ) + n y (3) (dn ) avec dn ∈ [tn , tn+1 ]
2 6
On en déduit que
h2 h3
εn = hn y ′ (tn ) + n y ′′ (tn ) + n y (3) (dn )
2 6
h2
   
−hn θ y (tn ) + hn y (tn ) + n y (3) (cn ) + (1 − θ)y ′ (tn ) .
′ ′′
2

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Consistance de la θ-méthode
Soit    
1 1 (3) θ
εn = hn2 − θ y ′′ (tn ) + hn3 y (dn ) − yn(3) (cn )
2 6 2
Par conséquent, en posant h = max(hn )
n
1
si θ ̸= 2 alors

N−1
X
∥εn ∥ ≤ Kh(tn+1 − tn ) et ∥εn ∥ ≤ KTh
n=0

La méthode est d’ordre 1


1
si θ = 2 alors

N−1
X
∥εn ∥ ≤ Kh2 (tn+1 − tn ) et ∥εn ∥ ≤ KTh2
n=0

La méthode est d’ordre 2 - Méthode de Crank-Nicholson


Didier Schmitt IECL
Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Les méthodes de Runge-Kutta


Dans la pratique, même une méthode d’ordre 2 se révèle assez
souvent insuffisante, car nécessitant trop de pas de temps pour
atteindre une précision donnée.
Il est alors nécessaire d’utiliser une méthode d’ordre supérieur : les
plus courantes sont celles de Runge-Kutta qui reposent sur des
méthodes d’intégration numérique d’ordre supérieur pour obtenir
une approximation de
Z tn+1
f (t, y (t))dt.
tn

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Les méthodes de Runge-Kutta


Soit (cj , bj ) une formule de quadrature élémentaire à s étages :
Z 1 s
X
g (x)dx ≃ bj g (cj ).
0 j=1

Alors
s
X
y (tn+1 ) ≃ y (tn ) + hn bj f (tn,j , y (tn,j ))
j=1

avec tn,j = tn + hn cj .

Remarque
Attention, j’utilise ici une formule de quadrature élémentaire pour
R1 R1
approcher l’intégrale 0 g (x)dx et non pas −1 g (x)dx, comme dans le
cours sur l’intégration numérique. Mais c’est le même principe, on prend
seulement l’intervalle [0, 1] comme intervalle de référence à la place de
l’intervalle [−1, 1].
Didier Schmitt IECL
Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Problème
Comment évaluer f (tn,j , y (tn,j )) si on ne connait pas y (tn,j ) ?

Les méthodes de Runge-Kutta


Les valeurs y (tn,j ) sont elles mêmes évaluées à l’aide de formules
d’intégration numérique utilisant les mêmes points tn,j :
s
X
y (tn,i ) ≃ y (tn ) + hn ai,j f (tn,j , y (tn,j )) ∀ i ∈ J1, sK.
j=1

Les méthodes de Runge-Kutta consistent à remplacer les égalités


approchées par des égalités

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Les méthodes de Runge-Kutta

s
X
yn,i = yn + hn ai,j f (tn,j , yn,j ) ∀ i ∈ J1, sK (⋆)
j=1
s
X
yn+1 = yn + hn bj f (tn,j , yn,j ) (⋆⋆)
j=1

tn,j = tn + hn cj
Supposons connue yn l’approximation de y (tn ). Les équations (⋆)
forment un système de s équations à s inconnues (pas
obligatoirement linéaires !).
On montre que pour h assez petit ce système admet une unique
solution.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Les méthodes de Runge-Kutta

Remarques :
Si la matrice (ai,j ) est strictement triangulaire inférieure, alors les
formules (⋆) définissent les valeurs de yn,j de façon explicite, sinon
de façon implicite.
Il s’agit bien d’une méthode à un pas. En effet ce schéma s’écrit
sous la forme
yn+1 = yn + hn Φ(tn , yn , hn )
où Φ(., ., .) est la fonction définie par les équations :
s
X
yi = y + h ai,j f (t + cj h, yj ) ∀ i ∈ J1, sK (⋆)
j=1

s
X
Φ(t, y , h) = bj f (t + cj , yj ) (⋆⋆)
j=1
Didier Schmitt IECL
Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Exemples de méthodes de Runge-Kutta


Méthode de Runge on prend la formule du point milieu
 
hn hn
y (tn+1 ) ≃ y (tn ) + hn f tn + , y (tn + )
2 2
hn
et on remplace la valeur inconnue y (tn + 2 ) par la méthode d’Euler

hn hn
y (tn + ) ≃ y (tn ) + f (tn , y (tn )).
2 2
Ceci nous donne
 
hn hn
yn+1 = yn + hn f tn + , yn + f (tn , yn ) .
2 2

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Exemples de méthodes de Runge-Kutta


Méthode de Heun on prend la formule de quadrature d’ordre 3
 
hn 2hn 2hn
y (tn+1 ) ≃ y (tn ) + f (tn , yn ) + 3f (tn + , y (tn + ))
4 3 3
2hn
et on remplace la valeur inconnue y (tn + 3 ) par l’approximation de
la méthode de Runge.
Ceci nous donne
  
hn 2hn 2hn hn hn
yn+1 = yn + f (tn , yn ) + 3f tn + , yn + f (tn + , yn + f (tn , yn )
4 3 3 3 3

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Les méthodes de Runge-Kutta


Une méthode de Runge-Kutta est entièrement définie dès que l’on
connait : s, les coefficients ai,j , bj et cj .
On a coutume de les représenter par le tableau ci-dessous :
c1 a1,1 a1,2 ... a1,s
c2 a2,1 a2,2 ... a2,s
.. .. .. ..
. . . .
cs as,1 as,2 ... as,s
b1 b2 ... bs

Méthode d’Euler - ordre 1


0 0
1

yn,1 = yn + 0
yn+1 = yn + hn f (tn , yn,1 ) = yn + hn f (tn , yn )
Didier Schmitt IECL
Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Méthodes de Runge-Kutta
Méthode de Runge - ordre 2

0 0 0
1 1
2 2 0
0 1

yn,1 = yn
hn hn
yn,2 = yn + f (tn , yn,1 ) = yn + f (tn , yn )
2 2
hn
yn+1 = yn + hn f (tn + , yn,2 )
2
hn hn
= yn + hn f (tn + , yn + f (tn , yn ))
2 2

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Méthodes de Runge-Kutta
Méthode de Heun - ordre 3
0 0 0 0
1 1
3 3 0 0
2 2
3 0 3 0
1 3
4 0 4

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Méthodes de Runge-Kutta
La fameuse méthode d’ordre 4 due à Kutta : RK4
0 0 0 0 0
1 1
2 2 0 0 0
1 1
2 0 2 0 0
1 0 0 1 0
1 2 2 1
6 6 6 6

yn,1 = yn yn,2 = yn + h2n f (tn , yn,1 )


hn hn
yn,3 = yn + 2
f (tn + 2
, yn,2 ) yn,4 = yn + hn f (tn + h2n , yn,3 )

hn hn hn
yn+1 = yn + f (tn , yn ) + 2f (tn + , yn,2 ) + 2f (tn + , yn,3 )
6 2 2
+f (tn+1 , yn,4 )]

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Méthodes de Runge-Kutta

Remarque :
Pour la programmation des méthodes de Runge-Kutta, il est préférable
de les écrire sous la forme équivalente suivante en posant :

kn,i = f (tn,i , yn,i ), ∀ i ∈ J1, sK.

On a alors les relations,


s
X
kn,i = f (tn,i , yn + hn ai,j kn,j ) ∀ i ∈ J1, sK (⋆′ )
j=1

s
X
yn+1 = yn + hn bj kn,j (⋆⋆′ )
j=1

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Méthodes de Runge-Kutta
Exemple pour RK4
0 0 0 0 0
1 1
2 2 0 0 0
1 1
2 0 2 0 0
1 0 0 1 0
1 2 2 1
6 6 6 6

kn,1 = f (tn , yn ) kn,2 = f (tn + h2n , yn + h2n kn,1 )


kn,3 = f (tn + h2n , yn + hn
k )
2 n,2
kn,4 = f (tn+1 , yn + hn kn,3 )

hn
yn+1 = yn + [kn,1 + 2kn,2 + 2kn,3 + kn,4 ]
6

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Méthodes de Runge-Kutta
On démontre sous des hypothèses de régularité sur f que les méthodes de
Runge-Kutta sont stables.
Étant stables et consistantes, elles sont convergentes.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Contrôle du pas
Dans la description des algorithmes précédents, nous avons supposé
le pas hn variable.
Dans la pratique, il est naturel de chercher à utiliser un pas constant
hn = h et on le fait souvent !
Cependant, il est difficile d’évaluer la taille optimale du pas h.
Il ne doit pas être trop petit sinon le coût de calcul est important et
les erreurs d’arrondis s’accumulent.
Il ne doit pas être trop grand pour que les calculs conservent une
précision suffisante.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Contrôle du pas
L’idée est de contrôler le pas à chaque étape dans le but :
L’erreur locale soit partout égale à une précision α préfixée.
Adapter le pas aux irrégularités éventuelles de la solution : sur des
intervalles où la solution varie peu, on pourra ”avancer à grands
pas” et quand les variations deviennent plus raides, diminue le pas.
La tolérance α étant fixée, il s’agit donc de choisir à chaque étape un pas
h tel que l’erreur locale

∥y (tn + h) − yn − hΦ(tn , yn , h)∥ ≤ αh.

Problème
Comment contrôler l’erreur locale ?

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Contrôle du pas
On suppose que yn = y (tn ). Dans ce cas, contrôler l’erreur locale
revient à contrôler l’erreur locale de consistance

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

Le problème est maintenant d’obtenir une estimation de εn (h).


Pour cela, une idée consiste à prendre un pas h provenant par
exemple de l’étape précédente puis d’évaluer εn à l’aide de deux
valeurs approchées de y (tn+1 ) :
ŷ (tn + h) obtenue avec une itération de pas h
ŷˆ (tn + h) obtenue avec deux itérations de pas h/2

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Contrôle du pas
En effet, si la méthode est d’orde p ou plus exactement si l’erreur locale
de consistance est d’ordre p + 1, on a

ŷ (tn + h) = y (tn + h) − Cn hp+1 + O(hp+2 )

où en général Cn ̸= 0, d’où

εn (h) ≃ Cn hp+1

On a et aussi
 p+1
h
ŷˆ (tn + h) = y (tn + h) − Cn + O(hp+2 )
2

Par différence, on obtient


 p+1
h
ŷ (tn + h) − ŷˆ (tn + h) ≃ Cn (2p+1 − 1)
2
Didier Schmitt IECL
Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Contrôle du pas
Donc
  ŷ (t + h) − ŷˆ (t + h)
h n n
εn ≃ := Dn (h)
2 2p+1 − 1
Nous avons donc notre contrôle de l’erreur locale de consistance.

Didier Schmitt IECL


Analyse Numérique - 2
Résolution numérique des équations différentielles
Méthodes à un pas

Algorithme du contrôle du pas


Étant donnés une tolérance α > 0 et un pas de départ h
on calcule ŷ (tn + h) avec une itération de pas h
on calcule ŷˆ (tn + h) avec deux itérations de pas h/2
|ŷ (tn +h)−ŷˆ(tn +h)|
on calcule Dn (h) = 2p+1 −1
si Dn (h) ≥ αh alors on recommence avec h remplacé par h/2
si Dn (h) < αh alors, on accepte ŷˆ (tn + h) comme valeur approchée
de y (tn + h) et on continue
avec le même pas h si α′ h < Dn (h)
avec le pas 2h si α′ h ≥ Dn (h)

Didier Schmitt IECL


Analyse Numérique - 2

Vous aimerez peut-être aussi