You are on page 1of 71

Chapitre 2

quations diffrentielles
ENSAM-Mekns
Universit Moulay Ismail - Mekns

2016/2017

Maths-Info (ENSAM)

CMN

1 / 66

Introduction

Mthode dEuler explicite

Mthode de Taylor dordre 2

Mthodes de Runge-Kutta

Systmes dquations diffrentielles

quations dordre suprieur

Mthodes pas multiples

Etude gnrale de la convergence des mthodes un pas


Maths-Info (ENSAM)

CMN

2 / 66

Introduction

Exemples

On sintresse ici des problmes o linconnue est une fonction:


Chute libre: Trouver la vitesse v (t) satisfaisant
mv 0 (t) = mg kv (t)2

Pendule: Trouver langle (t) satisfaisant


ml 00 (t) = mg sin((t)) lcf 0 (t) t
Masse-ressort: Trouver le dplacement x(t) satisfaisant
x 00 (t) + cx 0 (t) + 2 x(t) = 0

Croissance de population: Trouver le nombre dindividus N(t)


N 0 (t) = (n1 m1 N(t))N(t)

Maths-Info (ENSAM)

CMN

3 / 66

Introduction

Forme gnrale

Equation diffrentielle
Une quation diffrentielle est une relation faisant intervenir les
drives dune fonction inconnue y (t) dterminer sur lintervalle
[a, b]:
F (t, y (t), y 0 (t), y 00 (t), . . . , y (n) (t)) = 0

t [a, b]

Dfinition 1
Lordre dune quation diffrentielle est dtermin par dordre
maximale de la drive de la fonction inconnue (variable dpendante).

Exemple
Ordre 1: y 0 (t) = ty (t) alors F (t, y , y 0 ) = y 0 (t) ty (t)
Ordre 2: y 00 (x) = y 0 (x) y (x) alors
F (x, y , y 0 , y 00 ) = y 00 (x) y 0 (x) + y (x)
Maths-Info (ENSAM)

CMN

4 / 66

Introduction

Remarques

Les quations diffrentielles jouent un rle fondamental en


ingnierie.
Contrairement une quation algbrique, linconnue du problme
est une fonction.
La solution gnrale dpend dun ou de plusieurs paramtres.
Pour avoir unicit, il faut prciser des conditions:
initiales (valeurs connues pour la plus petite valeur de la variable
indpendante), gnralement la variable indpendante est associ
au temps (et note t)
y 0 (t) = ty (t) y (0) = 1
des conditions aux limites, (valeurs connues une/plusieurs
extrmits de lintervalle de la variable indpendante),
gnralement la variable indpendante est associ une variable
despace (et habituellement not x):
y 00 (x) = 2a
Maths-Info (ENSAM)

y (0) = c, y (1) = a + b + c
CMN

5 / 66

Introduction

Equations diffrentielles dordre 1

Equation dordre 1
La formulation gnrale dune quation diffrentielle dordre 1 avec
condition initiale est:
 0
y (t) = f (t, y (t))
y (t0 ) = y0

Exemple 1-2
y 0 (t) = t avec y (0) = 1 donnant y (t) =

t2
2

+1

y 0 (t) = ty (t) avec y (3) = 42 donnant y (t) = 42e

t 2 32
2

En gnral il est impossible de rsoudre analytiquement ces


quations.
Dans les cas simples on peut faire une analyse des directions de
lquation donnant une image de la solution
Maths-Info (ENSAM)

CMN

6 / 66

Introduction

Equations diffrentielles dordre 1

Exemple: Champs des directions de lquation diffrentielle




y 0 (t) = y + t + 1
y (0) = 1

Dans le plan (t, y ) on fait une


analyse du champ vectoriel:
Pour chaque point (t, y ) on
peut calculer la drive de y .
Exemple en (1, 1) on a
y 0 (1) = 1 et en (1, 1) on a
y 0 (1) = 1
On peut alors remplir le plan
et voir apparatre une solution

Maths-Info (ENSAM)

CMN

7 / 66

Introduction

Equations diffrentielles dordre 1

Rappels
On sintresse aux mthodes numriques de rsolution.
Au niveau numrique, on ne peut pas valuer la solution y (t) en
tout point t.
On va chercher une apprioximation de la solution pour certaines
valeurs de la variable indpendante t qu lon notera ti .

Vocabulaire
La distance entre deux valeurs successives ti+1 et ti est not
hi = ti+1 ti sappelle le pas de temps
On utilisera gnralement un pas de temps constant not h
On note y (ti ) la solution analytique value en t = ti
On note yi la solution approximative en t = ti obtenue par une
mthode numrique
Maths-Info (ENSAM)

CMN

8 / 66

Introduction

Discrtisation

Discrtisation
Supposons que lon dsire calculer la solution y (t) dune quation
diffrentielle pour t0 t. Une discrtisation de lquation dfinissant
y (t) est dfinie comme
la donne dun ensemble discret de valeur pour la variable
indpendante: en gnral, on fixe le pas h et on pose
i = 0, 1, . . . , N

ti = t0 + ih
Produisant la suite

t0 < t1 < t2 < < ti < < Nh


et dune mthode numrique (schma) fournissant une
approximation de la solution exacte au points ti :
yi y (ti )
Maths-Info (ENSAM)

CMN

9 / 66

Mthode dEuler explicite

Interprtation gomtrique

Soit le problme


y 0 (t) = f (t, y (t))


y (t0 ) = y0

On se donne un pas de temps h et ti = t0 + ih.


Pour approximer y (t1 ) = y (t0 + h) on propose dutiliser linformation
connue:
t0 , y (t0 ) et y 0 (t0 ) = f (t0 , y (t0 )) = f (t0 , y0 )
On construit la droite d0 (t) passant par (t0 , y0 ) et de pente f (t0 , y0 ):
d0 (t) = y0 + (t t0 )f (t0 , y0 )
et on propose y1 = d0 (t1 ) = y0 + (t1 t0 )f (t0 , y0 ) = y0 + hf (t0 , y0 )

Maths-Info (ENSAM)

CMN

10 / 66

Mthode dEuler explicite

Interprtation gomtrique

Pour approximer y (t2 ) = y (t0 + 2h) on utilise le mme procd. On


construit une droite avec linformation connue en t1 : la droite d1 (t)
passant par (t1 , y1 ) et de pente f (t1 , y1 ):
d1 (t) = y1 + (t t1 )f (t1 , y1 )
et on propose y2 = d1 (t2 ) = y1 + (t2 t1 )f (t1 , y1 ) = y1 + hf (t1 , y1 )
et on recommence au pas suivant donnant
yi+1 = yi + hf (ti , yi )

i = 0, ...

Dfinition
On qualifie dexplicite un schma o lvaluation de lapproximation
ne ncessite pas de rsolution dun systme non-linaire. Plus
simplement lapproximation sexprime en fonction de valeurs connues
uniquement.
Maths-Info (ENSAM)

CMN

11 / 66

Mthode dEuler explicite

Une autre interprtation

On a
y 0 (t) = f (t, y (t)) t [t0 , Nh]

y 0 (ti ) = f (ti , y (ti )) i

On arrive la mme mthode en considrant lapproximation de la


drive y 0 (ti ) par la formule de diffrence avant
f (ti , yi ) y 0 (ti )
menant

yi+1 yi
yi+1 yi
=
ti+1 ti
h

yi+1 yi
= f (ti , yi )
h

yi+1 = yi + hf (ti , yi )

ou encore
Cette mthode est connue comme "mthode dEuler explicite".

Maths-Info (ENSAM)

CMN

12 / 66

Mthode dEuler explicite

Une autre interprtation

Mthode dEuler explicite


tant donn un pas de temps h, une condition initiale (t0 , y0 ) et un
nombre maximal ditrations N
i =0
1

yi+1 = yi + hf (ti , yi )

ti+1 = ti + h

crire ti+1 et yi+1

Si i = N arrt

i = i + 1 retour 1

Maths-Info (ENSAM)

CMN

13 / 66

Mthode dEuler explicite

Une autre interprtation

Erreur
Il faut cependant noter quen gnral
yi 6= y (ti ) et y 0 (ti ) = f (ti , y (ti )) 6= f (ti , yi )
donc
di (t) 6= y (ti ) + (t ti )f (ti , y (ti ))
Mais alors lerreur commise dans lapproximation de yi est introduite
dans lapproximation de yi+1 et on a propagation de lerreur!
La propagation de lerreur nest pas exclusive la mthode de Euler
explicite. Elle est typique des mthodes numriques pour les q. diff.
On aura propagation de lerreur en passant dune itration lautre, et
de manire gnrale lerreur dapproximation
|y (ti ) yi |
augmente (lgrement, quand tout va bien) avec i.
Maths-Info (ENSAM)

CMN

14 / 66

Mthode dEuler explicite

Mthode dEuler: exemple

Soit lquation diffrentielle :


 0
y (t) = y (t) + t + 1,
y (0) = 1.
qui admet la solution exacte y (t) = et + t.
Le schma dEuler scrit

y0 = 1,
yn+1 = yn + h(yn + tn + 1).
Pour h = 0.1 on obtient
y1 = y0 + 0.1(y0 + t0 + 1) = 1 + 0.1(1 + 0 + 1) = 1
y2 = y1 + 0.1(y1 + t1 + 1) = 1 + 0.1(1 + 0.1 + 1) = 1.01
y3 = y2 + 0.1(y2 + 0.2 + 1) = 1.01 + 0.1(1.01 + 0.2 + 1) = 1.029
...
Maths-Info (ENSAM)

CMN

15 / 66

Mthode dEuler explicite

Mthode dEuler: exemple

Mthode dEuler : y 0 (t) = y (t) + t + 1


tn
y (tn )
yn
|y (tn ) yn |
0.0 1.000 000 1.000 000 0.000 000
0.1 1.004 837 1.000 000 0.004 837
0.2 1.018 731 1.010 000 0.008 731
0.3 1.040 818 1.029 000 0.011 818
0.4 1.070 302 1.056 100 0.014 220
0.5 1.106 531 1.090 490 0.016 041
0.6 1.148 812 1.131 441 0.017 371
0.7 1.196 585 1.178 297 0.018 288
0.8 1.249 329 1.230 467 0.018 862
0.9 1.306 570 1.287 420 0.019 150
1.0 1.367 879 1.348 678 0.019 201

Maths-Info (ENSAM)

CMN

16 / 66

Mthode dEuler explicite

Etude de lerreur

Quel est leffet de h sur lerreur |y (tn ) yn | ?

Dfinition 2
Une mthode de rsolution est dite mthode un pas si elle est de la
forme
yn+1 = yn + h(tn , yn )
o est une fonction quelconque. La mthode est un pas si elle
exige uniquement la solution au temps prcdent pour la rsolution au
temps courant.
Une mthode est pas multiples si la solution au temps tn+1 exige la
solution plusieurs valeurs de temps prcdent tn , tn1 , tn2 ,...

Maths-Info (ENSAM)

CMN

17 / 66

Mthode dEuler explicite

Etude de lerreur

Dfinition 3
Erreur de troncature locale au temps tn est
n+1 (h) =

y (tn+1 ) y (tn )
(tn , y (tn ))
h

Remarque
On utilise la solution exacte dans lexpression de lerreur de troncature
locale. Cest parce quon veut mesurer lerreur introduite par
lutilisation du schma numrique pour un pas donn en supposant la
solution exacte aux itrations prcdentes.
y (tn+1 ) yn+1 = y (tn+1 ) yn h(tn , yn )
En supposant la solution exacte en tn on a
y (tn+1 ) yn+1 = y (tn+1 ) y (tn ) h(tn , y (tn )) = hn+1 (h)
Maths-Info (ENSAM)

CMN

18 / 66

Mthode dEuler explicite

Etude de lerreur

Revenons la mthode dEuler explcite. Dans ce cas (t, y ) = f (t, y ).


En utilisant Taylor (encore) autour de tn on a
y 00 (tn )h2
+ O(h3 )
2
y 00 (tn )h2
= y (tn ) + f (tn , y (tn ))h +
+ O(h3 )
2

y (tn+1 ) = y (tn + h) = y (tn ) + y 0 (tn )h +

alors

y (tn+1 ) y (tn )
y 00 (tn )h
= f (tn , y (tn )) +
+ O(h2 )
h
2
Lerreur de troncature locale est donc:
n+1 (h) =

y (tn+1 ) y (tn )
y 00 (tn )h
f (tn , y (tn )) =
+ O(h2 )
h
2

Cest--dire
n+1 (h) = O(h)
Maths-Info (ENSAM)

CMN

19 / 66

Mthode dEuler explicite

Etude de lerreur

Conclusions
Si on suppose que yn correspond la solution alors sur chaque
intervalle [tn , tn+1 ], lerreur En = |y (tn ) yn | sera de lordre de
O(h2 ).
Cependant par la propagation des erreurs on a au mieux une
erreur correspondant lerreur de troncature locale, i.e. une
erreur dordre O(h)
Remarques
Lordre de la troncature locale donne lordre de la mthode
numrique, la mthode de Euler explicite est dordre 1. Attention
de ne pas confondre avec lordre de lquation diffrentielle.
La mthode de Euler explicite est facile demploi mais peu
prcise. Cest pourquoi elle est peu utilise.
Pour rduire de moiti lerreur dans la mthode de Euler explicite
on doit diviser le pas de temps par 2 puisque la mthode est
dordre 1.
Maths-Info (ENSAM)

CMN

20 / 66

Mthode dEuler explicite

Exemple, erreur

Revenons lexemple 3:
y 0 (t) = y (t) + t + 1

y (0) = 1

y (t) = et + t

En utilisant Euler explicite avec h = 0.1 et 0.05 on trouve


ti
0.1
0.2

h = 0.1
1.0
1.01

erreur
0.004837
0.008731

h = 0.05
1.007375
1.0237809

erreur
0.002537
0.005050

On a bien un rduction de moiti de lerreur pour une rduction de


mopiti du pas de temps.
Pour gagner en prcision on peut tendre la mthode de Euler
explicite en utilisant le dveloppement de Taylor. Cette approche
permet davoir une erreur de troncature locale dordre plus leve.

Maths-Info (ENSAM)

CMN

21 / 66

Mthode de Taylor dordre 2

On utilise le dveloppement de Taylor pour la fonction y (t)


y (tn+1 ) = y (tn + h) = y (tn ) + y 0 (tn )h +
Or

y 00 (tn )h2
+ O(h3 )
2

y 00 (t) =

f (t,y (t))
t

f (t,y (t)) 0
y (t)
y

f (t,y (t))
t

f (t,y (t))
f (t, y (t))
y

On obtient
y (tn+1 ) = y (tn ) + hf (tn , y (tn ))
+

h2
2

Maths-Info (ENSAM)


f (tn , y (tn )) f (tn , y (tn ))
+
f (tn , y (tn )) + O(h3 )
t
y

CMN

22 / 66

Mthode de Taylor dordre 2

En ngligeant les termes dordre suprieurs 2 en h, et en remarquant


que le membre de droite est compos dlments connus (on peut
valuer les drives de f et elles sont values des points connus).
On obtient :

y (tn+1 ) y (tn ) + hf (tn , y (tn ))




h2 f (tn , y (tn )) f (tn , y (tn ))
+
f (tn , y (tn ))
+
2
t
y

Maths-Info (ENSAM)

CMN

23 / 66

Mthode de Taylor dordre 2

On remplace la solution exacte y (tn ) par lapproximation yn et on a le


schma :


h2 f (tn , yn ) f (tn , yn )
+
f (tn , yn )
yn+1 = yn + hf (tn , yn ) +
2
t
y
Puisquon utilise yn plutt que la solution exacte on aura encore
propagation derreur dun pas de temps lautre.

Erreur de troncature locale


Suivant la notation on a
h
(t, y ) = f (t, y ) +
2


f (t, y ) f (t, y )
+
f (t, y )
t
y

Part construction (on peut facilement montrer que)


n+1 (h) = O(h2 )
La mthode est dordre 2.
Maths-Info (ENSAM)

CMN

24 / 66

Mthode de Taylor dordre 2

Algorithme

Schma de Taylor dordre 2


1

tant donn un pas de temps h, une condition initiale (t0 , y0 ) et un


nombre maximal ditrations N

Pour 0 n N:

h2
yn+1 = yn + hf (tn , yn ) +
2
tn+1 = tn + h

crire tn+1 et yn+1

Arrt

Maths-Info (ENSAM)


f (tn , yn ) f (tn , yn )
+
f (tn , yn )
t
y

CMN

25 / 66

Mthode de Taylor dordre 2

ti
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0

Mthode de Taylor: exemple

Mthode de Taylor : y 0 (t) = y (t) + t + 1


y (ti )
yi
|y (ti ) yi |
1.000 000 1.000 000 0.000 000 (0.000 000)
1.004 837 1.005 000 0.000 163 (0.004 837)
1.018 731 1.019 025 0.000 294 (0.008 731)
1.040 818 1.041 218 0.000 400 (0.011 818)
1.070 302 1.070 802 0.000 482 (0.014 220)
1.106 531 1.107 075 0.000 544 (0.016 041)
1.148 812 1.149 404 0.000 592 (0.017 371)
1.196 585 1.197 210 0.000 625 (0.018 288)
1.249 329 1.249 975 0.000 646 (0.018 862)
1.306 570 1.307 228 0.000 658 (0.019 150)
1.367 879 1.368 541 0.000 662 (0.019 201)

Maths-Info (ENSAM)

CMN

26 / 66

Mthode de Taylor dordre 2

Rcapitulatif

quation diffrentielle: unicit de la solution obtenue en ajoutant


des conditions initiales ou au bords i.e. on se donne la solution en
certains points.
lordre de lquation: dtermine par le degr de la plus haute
drive de linconnue
le pas de temps, discrtisation et schma numrique, schma
explicite
schma dEuler explicite:
yn+1 = yn + hf (tn , yn )
Dans les schmas pour les q. diff. lerreur se propage

Maths-Info (ENSAM)

CMN

27 / 66

Mthode de Taylor dordre 2

Rcapitulatif

Schma un pas gnral:


yn+1 = yn + h(tn , yn )
Erreur de troncature locale pour un schma qui donne lordre du
schma.
Pour augment lordre de lerreur de troncature on produit la
mthode de Taylor dordre 2: vient du dveloppmenet de Taylor de
y autour du point tn avec troncature des termes dordre 3 en h.


h2 f (tn , yn ) f (tn , yn )
yn+1 = yn + hf (tn , yn ) +
+
f (tn , yn )
2
t
y
Euler explicite est un schma dordre 1
La mthode de Taylor est dordre 2.

Maths-Info (ENSAM)

CMN

28 / 66

Mthode de Taylor dordre 2

Rcapitulatif

Revenons y 0 (t) = y (t) + t + 1. En utilisant Euler explicite avec


h = 0.1 on a
|y (1.0) y10 | = 0.019201
et avec la mthode de Taylor on a
|y (1.0) y10 | = 0.000662
Avec le schma dEuler, quelle valeur de h faut-il pour avoir une erreur
en t = 1.0 comparable lerreur de la mthode de Taylor?
Puisque Euler est un schma dordre 1 on a
|y (1.0) yn | Ch
On veut une erreur qui soit 0.019201/0.000662 30 plus petite alors
il faut prendre h a peu prs 30 fois plus petit!
0.1/30
On devra donc prendre h
Maths-Info (ENSAM)

CMN

29 / 66

Mthode de Taylor dordre 2

Rcapitulatif

Conclusions
0.00333 on aura une erreur comparable
En prenant h
CEPENDANT on devra faire 300 itrations pour atteindre la valeur
de t = 1.0 au lieu de 10.
On peut donc contrler lerreur jusqua un certain point en
modifiant le pas de temps mais cest au dtriment du nombre
ditrations.
En procdant au mme traitement avec la mthode de Taylor
dordre 2 et en faisant une division par 2 du pas de temps, on
rduit par un facteur 4 lerreur . On note quen fait le facteur 4
sobtient quand h est trs petit.
Tout comme pour le schma dEuler le nombre dittations grandi
(multipli par 2 chaque fois).

Maths-Info (ENSAM)

CMN

30 / 66

Mthode de Taylor dordre 2

Choix du pas de temps

Le choix du pas de temps semble arbitraire. Quen est-il?


Considrons le problme


y 0 (t) = 5y (t)
y (0) = 1

Dont la solution est y (t) = e5t . En utilisant Euler explicite avec un pas
de temps h donn on a
y0 = 1 yn+1 = yn 5hyn = yn (1 5h) n 0
Mais alors
yn = y0 (1 5h)n = (1 5h)n
Il est claire que dans le cas o (1 5h) 0 la solution oscillera entre
des valeurs positives et ngatives:
h = 0.25 yn = (0.25)n
y0 = 1, y1 = 0.25, y2 = 0.0625, y3 = 0.015625...
Mais on sait dj que la solution est strictement positive!
Maths-Info (ENSAM)

CMN

31 / 66

Mthode de Taylor dordre 2

Choix du pas de temps

Conclusion
Le schma produira une approximation valable pour certaine
valeur du pas de temps seulement!
Dans le cas prsent on veut h < 0.2.
Puisquen partie la construction des schmas ainsi que lerreur de
troncature qui qualifie nos schmas est base sur le
dveloppement de Taylor, la conclusion habituelle sapplique. Il
est dangeureux dutiliser des points trop loin les uns des autres:
il faut des pas de temps petits si on veut tre prudent!

Maths-Info (ENSAM)

CMN

32 / 66

Mthode de Taylor dordre 2

Choix du pas de temps

Puisque modifier le pas de temps nest pas idal pour amliorer la


qualit de la solution, on regarde ce qui se passe en augmentant
lordre de la mthode de Taylor (en tronquant plus loin):
Par exemple pour avoir un schma dordre 3:
y (tn+1 ) =y (tn ) + hf (tn , y (tn ))


h2 f (tn , y (tn )) f (tn , y (tn ))
+
+
f (tn , y (tn ))
2
t
y

h3 2 f (tn , y (tn ))
2 f (tn , y (tn ))
+
+
2
f (tn , y (tn ))
6
ty
t 2
f (tn , y (tn )) f (tn , y (tn )) 2 f (tn , y (tn ))
+
+
(f (tn , y (tn )))3
t
y
y 2

f (tn , y (tn )) f (tn , y (tn ))
2
+
(f (tn , y (tn ))) + O(h4 )
y
y
Donne un gain en prcision au dtriment de la simplicit de
lexpression valuer.
Maths-Info (ENSAM)

CMN

33 / 66

Mthode de Taylor dordre 2

Choix du pas de temps

On voudrait une/des mthodes dordres de plus en plus grand tout en


vitant la complexit dvaluations des mthodes de Taylor dordre
leve.
Dans les mthodes de Taylor on augmente lordre en extrayant de
linformation des drives de la fonction f (c--d y 0 ). Cest aussi la
source des difficults car on devra complexifier le schma en
valuant des drive dordre de plus en plus lev.
Pour avoir des schmas simples on vitera dutiliser les drives de la
fonction f . Pour garder lordre des mthode de Taylor sans utiliser les
drives il nous faudra prendre linformation ailleur mais il ne reste
plus que f ! On devra donc faire des valuations de f en plusieurs
points.
Cest la prmisse des mthodes de Runge-Kutta (RK).

Maths-Info (ENSAM)

CMN

34 / 66

Mthodes de Runge-Kutta

Mthode de Runge-Kutta dordre 2

On sintresse dabord lordre 2.


La base de la mthode de Taylor dordre 2 est le dveloppement:
y (tn+1 ) =y (tn ) + hf (tn , y (tn ))


h2 f (tn , y (tn )) f (tn , y (tn ))
+
+
f (tn , y (tn )) + O(h3 )
2
t
y
On veut un schma de mme ordre de prcision et ne faisant pas
apparatre de drives. On propose comme base des schmas
dordre 2:
y (tn+1 ) = y (tn ) + a1 hf (tn , y (tn )) + a2 hf (tn + a3 h, y (tn ) + a4 h)
O a1 , a2 , a3 et a4 sont dterminer (pour satisfaire lordre 2).

Maths-Info (ENSAM)

CMN

35 / 66

Mthodes de Runge-Kutta

Mthode de Runge-Kutta dordre 2

Pour trouver ces coefficients on fait le dveloppement de Taylor (cette


fois en 2 variables) de la fonction f :
f (tn + a3 h,y (tn ) + a4 h) = f (tn + v0 , y (tn ) + v1 )
f (tn , y (tn ))
f (tn , y (tn ))
= f (tn , y (tn )) + v0
+ v1
+ O(h2 )
t
y
f (tn , y (tn ))
f (tn , y (tn ))
= f (tn , y (tn )) + a3 h
+ a4 h
+ O(h2 )
t
y
On remplace ensuite dans lexpression:
y (tn+1 ) = y (tn ) + (a1 + a2 )hf (tn , y (tn ))


h2
f (tn , y (tn ))
f (tn , y (tn ))
+
2a2 a3
+ 2a2 a4
+ O(h3 )
2
t
y
Il ne nous reste plus qua identifier les termes en les comparant au
termes utiliss pour la mthodes de Taylor.
Maths-Info (ENSAM)

CMN

36 / 66

Mthodes de Runge-Kutta

Mthode de Runge-Kutta dordre 2

y (tn+1 ) =y (tn ) + hf (tn , y (tn ))




h2 f (tn , y (tn )) f (tn , y (tn ))
+
+
f (tn , y (tn )) + O(h3 )
2
t
y
y (tn+1 ) = y (tn ) + (a1 + a2 )hf (tn , y (tn ))


h2
f (tn , y (tn ))
f (tn , y (tn ))
+
2a2 a3
+ 2a2 a4
+ O(h3 )
2
t
y
Pour que les deux expression concordent il faut:
a1 + a2 = 1
1
2
f (tn , y (tn ))
a2 a4 =
2
a2 a3 =

Maths-Info (ENSAM)

CMN

37 / 66

Mthodes de Runge-Kutta

Mthode de Runge-Kutta dordre 2

y (tn+1 ) = y (tn ) + a1 hf (tn , y (tn )) + a2 hf (tn + a3 h, y (tn ) + a4 h)


En remplaant y (tn+1 ) par yn+1 , y (tn ) par yn et en ngligeant les
termes en O(h3 ) dans lexpression, on obtient:
yn+1 = yn + a1 hf (tn , yn ) + a2 hf (tn + a3 h, yn + a4 h)
1
f (tn , y (tn ))
, a2 a4 =
2
2
Le systme rsoudre est sous-dtermin (plus dinconnues que de
variables) on est donc assur dune solution et permet diffrentes
variantes classiques menant des schmas frquemment
rencontrs:
a1 = a2 = 12 , a3 = 1 et a4 = f (tn , y (tn )) mne au schma dEuler
modifie,
a1 = 0, a2 = 1, a3 = 12 et a4 = f (tn ,y2(tn )) mne la mthode du
point milieu,
a1 = a2 = 12 , a3 = 1 et a4 = f (tn , y (tn )) mne la mthode de
Heun.
a1 + a2 = 1,

Maths-Info (ENSAM)

a2 a3 =

CMN

38 / 66

Mthodes de Runge-Kutta

Euler Modifi

Schma RK2: Euler modifie


On se donne h, (t0 , y0 ) et un nombre maximal ditrations N
Pour 0 n N:
1

y = yn + a4 h = yn + hf (tn , yn )

yn+1 = yn + a1 hf (tn , yn ) + a2 hf (tn + a3 h, yn + a4 h)


= yn + h2 (f (tn , yn ) + f (tn + h, y ))

tn+1 = tn + h

crire tn+1 et yn+1

n = n + 1 retour 1

Ltape 1 correspond la mhode de Euler explicite, do le nom de


mthode dEuler modifie. La mthode est en fait compose de deux
calculs: une prdiction par ltape 1 suivie dune correction
(amlioration) de cette prdiction dans ltape 2. Cest une mthode
du type prdicteur-correcteur
Maths-Info (ENSAM)

CMN

39 / 66

Mthodes de Runge-Kutta

Mthode du point milieu

Schma RK2: Mthode du point milieu


tant donn un pas de temps h, une condition initiale (t0 , y0 ) et un
nombre maximal ditrations N
Pour 0 n N:
1

k1 = a4 h = hf (tn , yn )

yn+1 = yn + a1 hf
 (tn , yn ) + a2 hf(tn + a3 h, yn + a4 h)
= yn + hf tn + h2 , yn + k21

tn+1 = tn + h

crire tn+1 et yn+1

n = n + 1 retour 1

On value f au point tn +

Maths-Info (ENSAM)

h
2

do le nom de la mthode.

CMN

40 / 66

Mthodes de Runge-Kutta

RK dordre > 2

Le procd de construction utilis pour lordre 2 peut tre appliqu


pour les ordres suivant. Il faut noter que cette approche devient de
plus en plus complexe.
Dans tous les cas on obtient un systme sous dtermin rsoudre
pour les coefficients.
Le schma vedette de la famille des RK est le schma dordre 4
suivant:

1
h
hf (tn , yn ) + 2hf (tn + , yn +hf (tn , yn ))
yn+1 =yn +
6
2
h
h
+ 2hf (tn + , yn + hf (tn + , yn + hf (tn , yn )))
2
2

h
h
+hf (tn + h, yn + f (tn + , yn + hf (tn + , yn + hf (tn , yn ))))
2
2
Ce schma est tellement utilis quil est connu sous le nom de RK4
oubliant quen fait il y a une famille de mthode de Runge-Kutta
dordre 4.
Maths-Info (ENSAM)

CMN

41 / 66

Mthodes de Runge-Kutta

Mthode de Runge-Kutta dordre 4

Lide des mthodes de Runge-Kutta est de calculer le point


(tn+1 , yn+1 ) partir du point (tn , yn ) en utilisant des points
intermdiaires (tn,i , yn,i ). En effet si y est une solution exacte de
Rt
lquation, du fait que y (tn+1 ) = y (tn ) + tnn+1 f (t, y (t))dt, on peut
essayer dapprocher y (tn+1 ) y (tn ) par des formules dintgration qui
utilisent des points intermdiaires. Ainsi on dfinit les points
intermdiaires (tn,i , yn,i )(1iq) avec tn,i = tn + ci h, 1 i q et
ci [0, 1].
A chacun de ces points on associe la pente correspondante
pn,i = f (tn,i , yn,i ). Chacun de ces points est calcul de manire
rcursive en utilisant une formule de quadrature. En effet comme
R t +c h
y (tn,i ) = y (tn ) + tnn i f (t, y (t))dt, on utilise les points intermdiaires
(tn,j , yn,j ), j < i pour calculer le point (tn,i , yn,i ) :
yn,i = yn + h

i1
X

ai,j pn,j

j=1

Maths-Info (ENSAM)

CMN

42 / 66

Mthodes de Runge-Kutta

Mthode de Runge-Kutta dordre 4

On peut bien entendu utiliser des mthodes de quadrature diffrentes


chaque tape. Une fois que tous les points sont calculs on value
le point yn+1 en utilisant une formule de quadrature utilisant tous les
points (tn,i , yn,i )1 i q :
yn+1 = yn + h

q
X

bi pn,i

i=1

Une mthode de Runge-Kutta est ainsi entirement dfinie par les


coefficients (ci )(1iq) , les coefficients (ai,j )(1j<iq) et les coefficients
(bi )(1iq) . Une telle mthode est rsume dans le tableau suivant :

Maths-Info (ENSAM)

c1
c2
c3
..
.

a2,1
a3,1
..
.

cq
1

aq1
b1

a3,2
..
..
.
.
aq2 aq q1
b2
bq1
bq
CMN

43 / 66

Mthodes de Runge-Kutta

Mthode de Runge-Kutta dordre 4

Schma RK4
1

tant donn un pas de temps h, une condition initiale (t0 , y0 ) et un


nombre maximal ditrations N

Pour 0 n N:

k1 = hf (tn , yn )


k1
h
k2 = hf tn + , yn +
2
2


k2
h
k3 = hf tn + , yn +
2
2
k4 = hf (tn + h, yn + k3 )
1
yn+1 = yn + (k1 + 2k2 + 2k3 + k4 )
6
tn+1 = tn + h

8
9

Arrt
Maths-Info (ENSAM)

CMN

44 / 66

Mthodes de Runge-Kutta

Mthode de Runge-Kutta dordre 4

Mthode de Runge-Kutta : y 0 (t) = y (t) + t + 1


ti
y (ti )
yi
|y (ti ) yi |
0.0
1.0
1.0
0.0
0.1 1.004 837 4180 1.004 837 5000 0.819 107
0.2 1.018 730 7798 1.018 730 9014 0.148 106
0.3 1.040 818 2207 1.040 818 4220 0.210 106
0.4 1.070 320 0460 1.070 320 2889 0.242 106
0.5 1.106 530 6597 1.106 530 9344 0.274 106
0.6 1.148 811 6361 1.148 811 9343 0.298 106
0.7 1.196 585 3034 1.196 585 6186 0.314 106
0.8 1.249 328 9641 1.249 329 2897 0.325 106
0.9 1.306 569 6598 1.306 579 9912 0.331 106
1.0 1.367 879 4412 1.367 879 7744 0.333 106

Maths-Info (ENSAM)

CMN

45 / 66

Mthodes de Runge-Kutta

Mthode de Runge-Kutta dordre 4

On semble avoir LA mthode.


Est-il possible quil soit avantageux dutiliser une mthode moins
prcise (demandant moins deffort de calculs chaque itrations) avec
un pas de temps plus petit plutt quune mthode trs prcise
(couteuse dun point de vue calculatoire) et demandant moins
ditrations?
On voudrait pourtant tenir compte de tout les facteurs:
nombre ditrations pour une valeur donne de t0
quantit de calcul
erreur sur lapproximation
On mesure le cot du calcul par le nombre total dvaluation de f
RK4 demande 4 valuations de f par itration
RK2 demande 2 valuations de f par itration
Taylor dordre 2 1 valuation de f , et de ces 2 drives partielles
Euler explicite 1 valuation de f
Maths-Info (ENSAM)

CMN

46 / 66

Mthodes de Runge-Kutta

Mthode de Runge-Kutta dordre 4

En utilisant y 0 = y + t + 1 comme illustration on obtient en mesurant


lerreur en y (1)
Schma
Euler explicite
RK2 Euler mod.
RK4

h
0.025
0.05
0.1

# de pas
40
20
10

# eval de f
40
40
40

erreur
0.464 102
0.159 103
0.333 106

Conclusions:
Il est toujours mieux dutiliser la mthode dont lordre est le plus
lev possible
On comprend pourquoi RK4 est la plus utilise.

Maths-Info (ENSAM)

CMN

47 / 66

Systmes dquations diffrentielles

La forme gnrale dun systme de m quations diffrentielles avec


conditions initiales scrit:
0
y (t) = f1 (t, y1 (t), y2 (t), , ym (t))
(y1 (t0 ) = y1,0 )

10

y
(t)
=
f
(t,
y
(t),
y
(t),

,
y
(t))
(y

m
2
1
2
2 (t0 ) = y2,0 )
2
0
y3 (t) = f3 (t, y1 (t), y2 (t), , ym (t))
(y3 (t0 ) = y3,0 )

.
.
..

.
.

.
.
.

0
ym (t) = fm (t, y1 (t), y2 (t), , ym (t))
(ym (t0 ) = ym,0 )
Ici encore, on note yi (tn ), la valeur exacte de la i e variable dpendante
en t = tn et yi,n , son approximation numrique.
En gnral les quations sont couples: il y a dpendance des
inconnues entre elles.
Les m conditions initiales droite nous garantisse lunicit de la
solution.
Maths-Info (ENSAM)

CMN

48 / 66

Systmes dquations diffrentielles

Dune manire compacte, on crit un systme sous la forme vectorielle


d ~y
(t) = ~f (t, ~y (t))
dt
Toutes les mthodes stendent presque sans changement dans
le cas vectoriel. Comme pour la rsolution de systme non linaire
on na qua faire un passage en dimension suprieure dans les
schmas dj construit.
Par exemple Euler explicite devient:
~ = y~n + h~f (tn , y~n )
yn+1
La condition initiale devient vectorielle ~y (t0 ) = ~y0
Les considrations sur la prcision sappliquent encore: RK4 est
favoriser.

Maths-Info (ENSAM)

CMN

49 / 66

quations dordre suprieur

La forme gnrale dune quation diffrentielle dordre m avec


conditions initiales est:
y (m) (t) = f (t, y (t), y (1) (t), y (2) (t), . . . , y (m1) (t))
o y (i) (t) dsigne la i e drive de y (t).
Pour avoir lunicit il nous faut m conditions initiales (la solution
comportera m constantes que lon dtermine de manire unique avec
m valeurs connues (et indpendantes) de y ). Les conditions initiales
sont donnes par
y (t0 ) = c1 , y (1) (t0 ) = c2 , , y (m1) (t0 ) = cm .
On a des outils de rsolution pour les systmes dquations
diffrentielles dordre 1. On va transformer notre quation dordre m en
m quations dordre 1.
Maths-Info (ENSAM)

CMN

50 / 66

quations dordre suprieur

Le principe de base consiste crire lquation dordre suprieur sous


la forme dun systme de m quations diffrentielles
0
y1 (t)

y20 (t)

y 0 (t)
3
..

y
(t)

m1
0
ym (t)

= y2 (t)
= y3 (t)
= y4 (t)
..
.

y1 (t0 )
y2 (t0 )
y3 (t0 )
..
.

= c1
= c2
= c3
..
.

= ym (t)
ym1 (t0 ) = cm1
= f (t, y1 (t), y2 (t), , ym (t)) ym (t0 )
= cm

on a bien
(m)

(m)

y1 (t) = y2

Maths-Info (ENSAM)

(1)

(t) = ...ym (t) = f (t, y1 (t), y2 (t), , ym (t))

CMN

51 / 66

Mthodes pas multiples

Soit une quation diffrentielle:


y 0 (t) = f (t, y (t))
Le principe de ces mthodes consiste intgrer lquation dans
lintervalle [tn , tn+1 ], cest--dire:
Z

tn+1

tn+1

y (t) dt =

f (t, y (t)) dt

tn

tn

ou encore:
Z

tn+1

y (tn+1 ) = y (tn ) +

f (t, y (t)) dt
tn

Cela nous amne un algorithme de la forme:


Z

tn+1

yn+1 = yn +

f (t, y (t)) dt
tn

Maths-Info (ENSAM)

CMN

52 / 66

Mthodes pas multiples

A partir dune table de diffrences divises, on remplace f


f (t, y (t) pm (t)
par un polynme dinterpolation.
Ainsi lalgorithme devient
Z

tn+1

tn+1

f (t, y (t)) dt yn +

yn+1 = yn +
tn

pm (t) dt
tn

Si on choisit les noeuds tn , tn1 , tn2 , . . . , on obtient la famille des


mthodes dAdams-Bashforth.

Maths-Info (ENSAM)

CMN

53 / 66

Mthodes pas multiples

Formules dAdams-Bashforth
yn+1 = yn + hfn

(ordre 1)

yn+1 = yn +

h
(3fn fn1 )
2

(ordre 2)

yn+1 = yn +

h
(23fn 16fn1 + 5fn2 )
12

(ordre 3)

yn+1 = yn +

h
(55fn 59fn1 + 37fn2 9fn3 ) (ordre 4)
24

Maths-Info (ENSAM)

CMN

54 / 66

Mthodes pas multiples

La mthode dAdams dordre 1 correspond la mthode dEuler


qui est un schma un pas.
La mthode dAdams dordre 2 est un schma 2 pas car dpend
de yn et de yn1 .
Pour dmarrer un tel schma, il faut connatre y0 et y1 . On peut
utiliser une mthode un pas du mme ordre pour calculer y1
(RK2).
En gnral, la mthode dAdams dordre m est un schma m
pas.

Maths-Info (ENSAM)

CMN

55 / 66

Mthodes pas multiples

La mthode dAdams dordre 1 correspond la mthode dEuler


qui est un schma un pas.
La mthode dAdams dordre 2 est un schma 2 pas car dpend
de yn et de yn1 .
Pour dmarrer un tel schma, il faut connatre y0 et y1 . On peut
utiliser une mthode un pas du mme ordre pour calculer y1
(RK2).
En gnral, la mthode dAdams dordre m est un schma m
pas.

Maths-Info (ENSAM)

CMN

55 / 66

Mthodes pas multiples

La mthode dAdams dordre 1 correspond la mthode dEuler


qui est un schma un pas.
La mthode dAdams dordre 2 est un schma 2 pas car dpend
de yn et de yn1 .
Pour dmarrer un tel schma, il faut connatre y0 et y1 . On peut
utiliser une mthode un pas du mme ordre pour calculer y1
(RK2).
En gnral, la mthode dAdams dordre m est un schma m
pas.

Maths-Info (ENSAM)

CMN

55 / 66

Mthodes pas multiples

La mthode dAdams dordre 1 correspond la mthode dEuler


qui est un schma un pas.
La mthode dAdams dordre 2 est un schma 2 pas car dpend
de yn et de yn1 .
Pour dmarrer un tel schma, il faut connatre y0 et y1 . On peut
utiliser une mthode un pas du mme ordre pour calculer y1
(RK2).
En gnral, la mthode dAdams dordre m est un schma m
pas.

Maths-Info (ENSAM)

CMN

55 / 66

Mthodes pas multiples

Formules dAdams-Moulton
yn+1 = yn + hfn+1

(ordre 1)

yn+1 = yn +

h
(fn+1 + fn )
2

(ordre 2)

yn+1 = yn +

h
(5fn+1 + 8fn fn1 )
12

(ordre 3)

yn+1 = yn +

h
(9fn+1 + 19fn 5fn1 + fn2 ) (ordre 4)
24

Maths-Info (ENSAM)

CMN

56 / 66

Mthodes pas multiples

Ces mthodes sont bases sur les noeuds tn+1 , tn , tn1 , tn2 , . . .
A cause de la prsence de yn+1 dans le membre de droite, le
schma devient implicite, i.e. exige la rsolution dune quation
non linaire pour calculer yn+1 .
Pour contourner cette difficult, on combine les formules
dAdams-Bashforth et dAdams-Moulton en des schmas dits
prdicteurs-correcteurs.

Maths-Info (ENSAM)

CMN

57 / 66

Mthodes pas multiples

Ces mthodes sont bases sur les noeuds tn+1 , tn , tn1 , tn2 , . . .
A cause de la prsence de yn+1 dans le membre de droite, le
schma devient implicite, i.e. exige la rsolution dune quation
non linaire pour calculer yn+1 .
Pour contourner cette difficult, on combine les formules
dAdams-Bashforth et dAdams-Moulton en des schmas dits
prdicteurs-correcteurs.

Maths-Info (ENSAM)

CMN

57 / 66

Mthodes pas multiples

Ces mthodes sont bases sur les noeuds tn+1 , tn , tn1 , tn2 , . . .
A cause de la prsence de yn+1 dans le membre de droite, le
schma devient implicite, i.e. exige la rsolution dune quation
non linaire pour calculer yn+1 .
Pour contourner cette difficult, on combine les formules
dAdams-Bashforth et dAdams-Moulton en des schmas dits
prdicteurs-correcteurs.

Maths-Info (ENSAM)

CMN

57 / 66

Mthodes pas multiples

Schmas de prdiction-correction
p
yn+1
= yn + hfn
p
yn+1 = yn + hfn+1

p
yn+1
= yn +

h
(3fn fn1 )
2

yn+1 = yn +

h p
(f
+ fn )
2 n+1

Maths-Info (ENSAM)

CMN

(ordre 1)

(ordre 2)

58 / 66

Mthodes pas multiples

Schmas de prdiction-correction (suite)


p
yn+1
= yn +

h
(23fn 16fn1 + 5fn2 )
12

yn+1 = yn +

h
(5f p + 8fn fn1 )
12 n+1

p
yn+1
= yn +

h
(55fn 59fn1 + 37fn2 9fn3 )
24

yn+1 = yn +

h
(9f p + 19fn 5fn1 + fn2 )
24 n+1

Maths-Info (ENSAM)

CMN

(ordre 3)

(ordre 4)

59 / 66

Mthodes pas multiples

Schma de prdiction-correction dordre 2


t
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0

ynp

1.019 111 875


1.041 085 901
1.070 487 675
1.106 614 851
1.148 826 758
1.196 543 746
1.249 241 382
1.306 445 195
1.367 725 911

Maths-Info (ENSAM)

yn
1.000 000 000
1.004 837 500
1.018 640 031
1.040 653 734
1.070 096 664
1.106 261 088
1.148 506 695
1.196 254 173
1.248 979 396
1.306 208 166
1.367 511 462

CMN

|y (tn ) yn |
0
0.819 640 107
0.907 218 104
0.164 486 103
0.223 381 103
0.269 571 103
0.304 940 103
0.331 129 103
0.349 568 103
0.361 493 103
0.367 979 103

60 / 66

Etude gnrale de la convergence des mthodes un pas

Rappels
Un schma numrique un pas est une quation de rcurrence de la
forme :

yn+1 = yn + h(tn ; yn ; h)
tn+1 = tn + h

Erreur de Consistance
Lerreur de consistance au pas n est par dfinition lerreur commise sur
yn+1 , lorsquon prend pour les valeurs prcdentes des yn les valeurs
exactes y (tn ), ce qui donne la dfinition suivante pour les mthodes
un pas:
Lerreur de consistance est la suite
en = y (tn+1 ) y (tn ) h(tn ; y (tn ); h)

Maths-Info (ENSAM)

CMN

61 / 66

Etude gnrale de la convergence des mthodes un pas

Remarque
Les valeurs de y (ti ) ntant pas connues pour i 1, lerreur de
consistance est surtout un outil thorique qui intervient dans le calcul
dune majoration de lerreur |y (tn ) yn |.

Dfinition
Une mthode numrique est dite consistante si
lim

hmax 0

N1
X

|en | = 0

n=0

CNS de consistance
Une mthode un pas est consistante sssi
(t, y , 0) = f (t, y ) (t, y ) [t0 , tf ]xR
Maths-Info (ENSAM)

CMN

62 / 66

Etude gnrale de la convergence des mthodes un pas

Stabilit

stabilit
Dans la pratique les valeurs de yn sont perturbes par des valeurs
voisines yen pour deux raisons :
1

Erreurs darrondi : on reprsente en machine la valeur yn issue du


calcul par un nombre dcimal q chiffres : |yen yn |, est alors
lerreur darrondi majore en valeur relative par 10q yn .

Incertitude exprimentale : Dans la plupart des problmes


concrets, la vraie valeur de y0 est remplace par une valeur ye0
tire dune exprience, dune hypothse ..., |ye0 y0 | est donc
majore par un nombre qui dpend de la prcision exprimentale.

La mthode ne peut tre utile que si la perturbation sur |yeN yN |


provoque par une faible perturbation |ye0 y0 | des donnes initiales et
par les erreurs darrondi sur les termes yen antrieurs est faible.
Maths-Info (ENSAM)

CMN

63 / 66

Etude gnrale de la convergence des mthodes un pas

Stabilit

Dfinition
Une mthode est dite stable sil existe S > 0 tel que quelle que soient
les suites , dfinies par rcurence par les formules :

yn+1 = yn + hn (tn ; yn ; hn )
yen+1 = yen + hn (tn , yen , hn ) + n
on a :
max |yen yn | S(|ye0 y0 | +

0nN

N1
X

|n |)

n=0

CNS de stabilit
Si est lipschitzienne par rapport la variable y , la mthode est
stable. De plus si L est la constante de Lipschitz pour , alors la
constante de stabilit est S = eLT o T = tf t0 .
Maths-Info (ENSAM)

CMN

64 / 66

Etude gnrale de la convergence des mthodes un pas

convergence

Dfinition
Une mthode numrique est dite convergente si pour toute solution
exacte y dfinie sur un intervalle [t0 , tf ] et toute suite (yn ) construite,
selon le schma numrique considr, partir de y0 et dune
subdivision de [t0 , tf ], on a la relation de convergence suivante:
lim

max |yn y (tn )| = 0

hmax 0 0nN
y0 y (t0 )

Thorme
Une mthode numrique un pas qui est stable et consistante est
convergente.

Maths-Info (ENSAM)

CMN

65 / 66

Etude gnrale de la convergence des mthodes un pas

Ordre dune mthode

Dfinition
Une mthode consistante est dite dordre p si pour tout compact K il
existe C 0, tel que pour toute solution y (t), de graphe (t, y (t))
contenu dans K , lerreur de consistance satisfait a la condition :
|e| Chp+1

Proposition
Sous lhypothse que est de classe C p , la mthode est dordre p si
et seulement si les conditions suivantes sont remplies :
l
1 (l)
(t, y , 0) =
f (t, y ) pour 0 l p 1
l +1
hl

Maths-Info (ENSAM)

CMN

66 / 66

You might also like