Vous êtes sur la page 1sur 64

Chapitre 2

quations diffrentielles
ENSAM-Mekns
Universit Moulay Ismail - Mekns

23 octobre 2011

Maths-Info (ENSAM)

CMN

1 / 59

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


Maths-Info (ENSAM)

CMN

2 / 59

Introduction

Exemples

On sintresse ici des problmes o linconnue est une fonction :


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

Pendule : Trouver langle (t) satisfaisant


ml (t) = mg sin((t)) lcf (t)

Masse-ressort : Trouver le dplacement x(t) satisfaisant


x (t) + cx (t) + 2 x(t) = 0

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


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

Maths-Info (ENSAM)

CMN

3 / 59

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 (t), y (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 (t) = ty(t) alors F (t, y, y ) = y (t) ty(t)
Ordre 2 : y (x) = y (x) y(x) alors
F (x, y, y , y ) = y (x) y (x) + y(x)
Maths-Info (ENSAM)

CMN

4 / 59

Introduction

Remarques

Contrairement une quation algbrique, linconnue du problme


est une fonction.
La solution gnrale dpend de un ou 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 (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 (x ) = 2a y (0) = c, y (1) = a + b + c

Maths-Info (ENSAM)

CMN

5 / 59

Introduction

Equations diffrentielles dordre 1

Equation dordre 1
La formulation gnrale dune quation diffrentielle dordre 1 avec
condition initiale est :

y (t) = f (t, y(t))
y(t0 ) = y0

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

t2
2

+1

y (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 / 59

Introduction

Equations diffrentielles dordre 1

Exemple : Champs des directions de lquation diffrentielle




y (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 (1) = 1 et en (1, 1) on a
y (1) = 1
On peut alors remplir le plan
et voir apparatre une solution

Maths-Info (ENSAM)

CMN

7 / 59

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 / 59

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
ti = t0 + ih

i = 0, 1, . . . , N

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 / 59

Mthode dEuler explicite

Interprtation gomtrique

Soit le problme


y (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 (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 / 59

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 / 59

Mthode dEuler explicite

Une autre interprtation

On a
y (t) = f (t, y(t))

t [t0 , Nh]

y (ti ) = f (ti , y(ti ))

On arrive la mme mthode en considrant lapproximation de la


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

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

menant

yi+1 yi
= f (ti , yi ) i
h
Cette mthode est connue comme la mthode de Euler explicite.

Maths-Info (ENSAM)

CMN

12 / 59

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 / 59

Mthode dEuler explicite

Une autre interprtation

Erreur
Il faut cependant noter quen gnral
yi 6= y(ti ) et y (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 / 59

Mthode dEuler explicite

Mthode dEuler : exemple

Soit lquation diffrentielle :



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 / 59

Mthode dEuler explicite

Mthode dEuler : exemple

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


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

Maths-Info (ENSAM)

y(tn )
1.000 000
1.004 837
1.018 731
1.040 818
1.070 302
1.106 531
1.148 812
1.196 585
1.249 329
1.306 570
1.367 879

yn
1.000 000
1.000 000
1.010 000
1.029 000
1.056 100
1.090 490
1.131 441
1.178 297
1.230 467
1.287 420
1.348 678

CMN

|y(tn ) yn |
0.000 000
0.004 837
0.008 731
0.011 818
0.014 220
0.016 041
0.017 371
0.018 288
0.018 862
0.019 150
0.019 201

16 / 59

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 / 59

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 / 59

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 (tn )h2
+ O(h3 )
2
y (tn )h2
+ O(h3 )
= y(tn ) + f (tn , y(tn ))h +
2

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

alors

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

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

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

CMN

19 / 59

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 / 59

Mthode dEuler explicite

Exemple, erreur

Revenons lexemple 3 :
y (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 / 59

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 (tn )h +
Or

y (tn )h2
+ O(h3 )
2

y (t) =

f (t,y (t))
t

f (t,y (t))
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 / 59

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 / 59

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 / 59

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 / 59

Mthode de Taylor dordre 2

Mthode de Taylor : exemple

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


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

y(ti )
1.000 000
1.004 837
1.018 731
1.040 818
1.070 302
1.106 531
1.148 812
1.196 585
1.249 329
1.306 570
1.367 879

Maths-Info (ENSAM)

yi
1.000 000
1.005 000
1.019 025
1.041 218
1.070 802
1.107 075
1.149 404
1.197 210
1.249 975
1.307 228
1.368 541

CMN

|y(ti ) yi |
0.000 000 (0.000 000)
0.000 163 (0.004 837)
0.000 294 (0.008 731)
0.000 400 (0.011 818)
0.000 482 (0.014 220)
0.000 544 (0.016 041)
0.000 592 (0.017 371)
0.000 625 (0.018 288)
0.000 646 (0.018 862)
0.000 658 (0.019 150)
0.000 662 (0.019 201)

26 / 59

Mthode de Taylor dordre 2

Hier

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 / 59

Mthode de Taylor dordre 2

Hier

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 )
+
f (tn , yn )
yn+1 = yn + hf (tn , yn ) +
2
t
y
Euler explicite est un schma dordre 1
La mthode de Taylor est dordre 2.

Maths-Info (ENSAM)

CMN

28 / 59

Mthode de Taylor dordre 2

Hier

Revenons y (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 / 59

Mthode de Taylor dordre 2

Hier

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.
Le tableau p 355, procde au mme traitement mais avec la
mthode de Taylor dordre 2. 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 / 59

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 (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 / 59

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 / 59

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

2 f (tn , y(tn ))
h3 2 f (tn , y(tn ))
f (tn , y(tn ))
+
2
+
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 / 59

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 ). 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 / 59

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 / 59

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 ))
+ v1
+ O(h2 )
= f (tn , y(tn )) + v0
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 ))


f (tn , y(tn ))
f (tn , y(tn ))
h2
+ 2a2 a4
2a2 a3
+ 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 / 59

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 ))


f (tn , y(tn ))
f (tn , y(tn ))
h2
+ 2a2 a4
2a2 a3
+ 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 / 59

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)


f (tn , y(tn ))
1
, 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.
a1 + a2 = 1,

a2 a3 =

Deux variantes classiques menant des schmas frquemment


rencontr :
a1 = a2 = 12 , a3 = 1 et a4 = f (tn , y(tn )) mne au schma dEuler
modifie en remplaant y(tn ) par yn et en ngligeant les termes
en O(h3 ) dans lexpression
a1 = 0, a2 = 1, a3 = 21 et a4 = f (tn ,y2(tn )) mne la mthode du
point milieu en remplaant y(tn ) par yn et en ngligeant les
termes en O(h3 ) dans lexpression
Maths-Info (ENSAM)

CMN

38 / 59

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 / 59

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 / 59

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
yn+1 =yn +
hf (tn , yn ) + 2hf (tn + , yn +hf (tn , 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 / 59

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 )


h
k
k2 = hf tn + , yn + 1
2
2


h
k2
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

42 / 59

Mthodes de Runge-Kutta

Mthode de Runge-Kutta dordre 4

Mthode de Runge-Kutta : y (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

43 / 59

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

44 / 59

Mthodes de Runge-Kutta

Mthode de Runge-Kutta dordre 4

En utilisant y = 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

45 / 59

Systmes dquations diffrentielles

La forme gnrale dun systme de m quations diffrentielles avec


conditions initiales scrit :

(y1 (t0 ) = y1,0 )
y1 (t) = f1 (t, y1 (t), y2 (t), , ym (t))

(y2 (t0 ) = y2,0 )

y2 (t) = f2 (t, y1 (t), y2 (t), , ym (t))


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

..
.
.

..
..


(ym (t0 ) = ym,0 )
ym (t) = fm (t, y1 (t), y2 (t), , ym (t))

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

46 / 59

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

47 / 59

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

48 / 59

quations dordre suprieur

Le principe de base consiste crire lquation dordre suprieur sous


la forme dun systme de m quations diffrentielles

y1 (t)

2 (t)

y (t)
3
..

y (t)

m1
(t)
ym

= 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

49 / 59

Mthodes pas multiples

Soit une quation diffrentielle :


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

tn+1

y (t) dt =

tn+1

f (t, y(t)) dt

tn

tn

ou encore :
Z

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

tn+1

f (t, y(t)) dt
tn

Cela nous amne un algorithme de la forme :


yn+1 = yn +

Maths-Info (ENSAM)

tn+1

f (t, y(t)) dt
tn

CMN

50 / 59

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
yn+1 = yn +

tn+1

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

tn

tn+1

pm (t) dt
tn

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


mthodes dAdams-Bashforth.

Maths-Info (ENSAM)

CMN

51 / 59

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

52 / 59

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

53 / 59

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

53 / 59

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

53 / 59

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

53 / 59

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

54 / 59

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

55 / 59

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

55 / 59

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

55 / 59

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)

56 / 59

Mthodes pas multiples

Schmas de prdiction-correction (suite)


p
yn+1
= yn +

h
(23fn 16fn1 + 5fn2 )
12

yn+1 = yn +

h
p
(5f
+ 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)

57 / 59

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

58 / 59

Etude gnrale de la convergence

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

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

Maths-Info (ENSAM)

CMN

59 / 59