Professional Documents
Culture Documents
quations diffrentielles
ENSAM-Mekns
Universit Moulay Ismail - Mekns
2016/2017
Maths-Info (ENSAM)
CMN
1 / 66
Introduction
Mthodes de Runge-Kutta
CMN
2 / 66
Introduction
Exemples
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
y (0) = c, y (1) = a + b + c
CMN
5 / 66
Introduction
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
t 2 32
2
CMN
6 / 66
Introduction
y 0 (t) = y + t + 1
y (0) = 1
Maths-Info (ENSAM)
CMN
7 / 66
Introduction
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
CMN
9 / 66
Interprtation gomtrique
Soit le problme
Maths-Info (ENSAM)
CMN
10 / 66
Interprtation gomtrique
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
On a
y 0 (t) = f (t, y (t)) t [t0 , Nh]
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
yi+1 = yi + hf (ti , yi )
ti+1 = ti + h
Si i = N arrt
i = i + 1 retour 1
Maths-Info (ENSAM)
CMN
13 / 66
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
CMN
15 / 66
Maths-Info (ENSAM)
CMN
16 / 66
Etude de lerreur
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
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
Etude de lerreur
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
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
Exemple, erreur
Revenons lexemple 3:
y 0 (t) = y (t) + t + 1
y (0) = 1
y (t) = et + t
h = 0.1
1.0
1.01
erreur
0.004837
0.008731
h = 0.05
1.007375
1.0237809
erreur
0.002537
0.005050
Maths-Info (ENSAM)
CMN
21 / 66
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
Maths-Info (ENSAM)
CMN
23 / 66
f (t, y ) f (t, y )
+
f (t, y )
t
y
CMN
24 / 66
Algorithme
Pour 0 n N:
h2
yn+1 = yn + hf (tn , yn ) +
2
tn+1 = tn + h
Arrt
Maths-Info (ENSAM)
f (tn , yn ) f (tn , yn )
+
f (tn , yn )
t
y
CMN
25 / 66
ti
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)
CMN
26 / 66
Rcapitulatif
Maths-Info (ENSAM)
CMN
27 / 66
Rcapitulatif
Maths-Info (ENSAM)
CMN
28 / 66
Rcapitulatif
CMN
29 / 66
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
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
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
CMN
33 / 66
Maths-Info (ENSAM)
CMN
34 / 66
Mthodes de Runge-Kutta
Maths-Info (ENSAM)
CMN
35 / 66
Mthodes de Runge-Kutta
CMN
36 / 66
Mthodes de Runge-Kutta
Maths-Info (ENSAM)
CMN
37 / 66
Mthodes de Runge-Kutta
Maths-Info (ENSAM)
a2 a3 =
CMN
38 / 66
Mthodes de Runge-Kutta
Euler Modifi
y = yn + a4 h = yn + hf (tn , yn )
tn+1 = tn + h
n = n + 1 retour 1
CMN
39 / 66
Mthodes de Runge-Kutta
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
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
CMN
41 / 66
Mthodes de Runge-Kutta
i1
X
ai,j pn,j
j=1
Maths-Info (ENSAM)
CMN
42 / 66
Mthodes de Runge-Kutta
q
X
bi pn,i
i=1
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
Schma RK4
1
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
Maths-Info (ENSAM)
CMN
45 / 66
Mthodes de Runge-Kutta
CMN
46 / 66
Mthodes de Runge-Kutta
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
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
Maths-Info (ENSAM)
CMN
49 / 66
CMN
50 / 66
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)
CMN
51 / 66
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
tn+1
yn+1 = yn +
f (t, y (t)) dt
tn
Maths-Info (ENSAM)
CMN
52 / 66
tn+1
tn+1
f (t, y (t)) dt yn +
yn+1 = yn +
tn
pm (t) dt
tn
Maths-Info (ENSAM)
CMN
53 / 66
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
Maths-Info (ENSAM)
CMN
55 / 66
Maths-Info (ENSAM)
CMN
55 / 66
Maths-Info (ENSAM)
CMN
55 / 66
Maths-Info (ENSAM)
CMN
55 / 66
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
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
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
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
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
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
ynp
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
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
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
Stabilit
stabilit
Dans la pratique les valeurs de yn sont perturbes par des valeurs
voisines yen pour deux raisons :
1
CMN
63 / 66
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
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
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
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