Académique Documents
Professionnel Documents
Culture Documents
de Modelisation
Option calcul scientifique
R
esolution num
erique des
equations
diff
erentielles ordinaires
1 Introduction `
a la discr
etisation des E.D.O.
1
1.1 Quelques exemples dE.D.O. . . . . . . . . . . . . .
1
1.2 Methodes dEuler (explicite, semi-implicite, implicite) 3
2 Analyse num
erique des m
ethodes `
a un pas
5
2.1 Definitions (convergence, stabilite, consistance, ordre) 7
2.2 Principaux resultats danalyse numerique . . . . .
8
3 M
ethodes de Runge-Kutta
3.1 Principe general des methodes de Runge-Kutta . .
3.2 Methodes de Runge-Kutta usuelles . . . . . . . . .
1
1.1
10
10
12
Introduction `
a la discr
etisation des E.D.O.
Quelques exemples dE.D.O.
Un grand nombre de probl`emes qui seront vus en theorie du controle secrivent sous la forme devolution
dun certain nombre de quantites en fonction du temps. Ces probl`emes secrivent comme une E.D.O.
(eventuellement dependant dun ou plusieurs param`etres, les controles), et decrivant levolution dune ou
plusieurs quantites. Ces equations peuvent etre du 1er , du 2nd ... ou du n`eme ordre, lineaires ou pas...
Exemple (Voiture en mouvement) On consid`ere une voiture se deplacant sur un axe Ox et dont on
peut contr
oler lacceleration u (si u > 0 la voiture accel`ere et si u < 0 la voiture decel`ere). Lequation
devolution de la position x de la voiture est donc
d2 x
(t) = x(t) = u(t).
dt2
Cest une equation du 2nd ordre en temps dependant du controle u. On peut toujours ecrire une equation
du 2nd ordre sous forme dune E.D.O. du 1er ordre, en doublant le nombre dinconnues
0
x0 (t) = y(t)
x(t)
y(t)
=
.
y 0 (t) = u(t)
y(t)
u(t)
Exemple (Trajectoire (x, y, z) dune particule de masse m dans un champ de potentiel)
x
m y = V(x, y, z)
z
c S. Martin
Epreuve
de Modelisation
Option calcul scientifique
qui devient du
y0
z0
m vx0
m vy0
m vz0
=
=
=
V
(x, y, z)
x
V
vy
(x, y, z)
x
V
vz
(x, y, z)
x
V
(x, y, z)
x
V
(x, y, z)
y
V
(x, y, z)
z
vx
c S. Martin
Epreuve
de Modelisation
Option calcul scientifique
1.2
M
ethodes dEuler (explicite, semi-implicite, implicite)
(1.1)
Un deuxi`eme point de vue sur la methode dEuler explicite consiste `a integrer lequation (1.1) sur [tn , tn+1 [,
on obtient
Z
tn+1
u(tn+1 ) u(tn ) =
f (s, u(s)) ds
tn
La methode dEuler explicite peut etre implementee de facon simple : cest une methode directe dont
chaque etape ne necessite que levaluation de la fonction f . Neanmoins, comme le montre lexemple
suivant, cette methode peut etre imprecise et ne pas preserver certaines proprietes fondamentales de la
solution exacte :
Exemple (Schema dEuler et trajectoire circulaire (1/2)) Considerons le syst`eme dE.D.O. : x0 = y,
y 0 = x. Le calcul suivant
d 2
x + y 2 = 2xx0 + 2yy 0 = 2xy + 2xy = 0
dt
x2 + y 2 = Cte.
etablit que les trajectoires sont des cercles. Or, numeriquement, le schema dEuler explicite secrit
x
n+1 xn = yn
xn+1 = xn hyn
h
yn+1 = yn + h xn
yn+1 yn = x
n
h
2
2
2
2
(xn+1 ) + (yn+1 ) = (1 + h2 ) (xn ) + (yn ) .
Numeriquement, les trajectoires ne sont plus circulaires (voir Fig.1) ! Cette propriete est mise en defaut,
quelle que soit la valeur de h choisie (aussi petite soit-elle). Bien quelle soit facile `a mettre en oeuvre, la
methode dEuler explicite ne permet pas, dans ce cas, de capter une propriete fondamentale de la solution
exacte. Cest ce qui peut motiver letude dautres schemas...
3
c S. Martin
Epreuve
de Modelisation
Option calcul scientifique
Fig. 1 Solution numerique du syst`eme x0 = y, y 0 = x pour la C.I. (1, 0) avec les methodes dEuler
explicite et du demi-point.
Sch
ema dEuler semi-explicite (ou demi-point). Pour levaluation du terme integral ci-dessus, on
pourrait faire un choix probablement plus precis avec lapproximation suivante
Z tn+1
f (s, u(s)) ds h f tn+ 12 , u tn+ 12
tn
h
(1.2)
n+1
= (xn + xn+1 )
h
2
Il preserve la norme et, en consequence, les trajectoires circulaires (voir Fig.1), quelle que soit la valeur
de h choisie. Par rapport au schema dEuler explicite, cest une amelioration importante. En revanche, le
prix `
a payer consiste, `
a chaque iteration, a` resoudre un syst`eme lineaire...
4
c S. Martin
Epreuve
de Modelisation
Option calcul scientifique
Sch
ema dEuler implicite. Un autre choix consiste `a approcher le terme integral par
Z tn+1
f (s, u(s)) ds h f (tn+1 , u(tn+1 ))
tn
qui conduit `
a la methode dEuler implicite (ou retrograde).
Un+1 Un = h f (tn+1 , Un+1 ).
(1.3)
Il sagit dune equation a priori non lineaire `a resoudre pour trouver Un+1 . Cette methode est donc plus
compliquee que la methode explicite. Neanmoins, linteret que lon peut porter `a des methodes implicites
concerne la notion de stabilite des methodes. Cette notion sera developpee dans la section suivante, mais
nous en donnons un apercu `
a travers lexemple suivant.
Exemple (Sur la notion de stabilite) Soit > 0 et considerons lequation :
0
u = u
u(0) = u0 > 0.
Ce probl`eme admet la solution u(t) = u0 e t qui satisfait :
t > 0,
u(t) > 0
et
lim u(t) = 0.
t+
Analyse num
erique des m
ethodes `
a un pas
c S. Martin
Epreuve
de Modelisation
Option calcul scientifique
Fig. 2 Solution numerique de lequation u0 = u pour la C.I. u(0) = 1 avec la methode dEuler
explicite h = 1.5.
Sol. num. par Euler explicite, h=2.15
Sol. exacte
Fig. 3 Solution numerique de lequation u0 = u pour la C.I. u(0) = 1 avec la methode dEuler
implicite h = 1.5.
6
c S. Martin
Epreuve
de Modelisation
Option calcul scientifique
2.1
D
efinitions (convergence, stabilit
e, consistance, ordre)
D
efinition 2.1 (M
ethode `
a un pas)
Une methode `
a un pas correspond `
a lecriture dun schema numerique sous la forme
(Ph )
Un+1 = Un + hn (tn , Un ; hn )
U0 donne (typiquement, proche de u0 )
max ku(tn ) Un k = 0.
U0 u0 ; h0 n6Nh
Cette definition constitue une propriete fondamentale que doit satisfaire un schema numerique : cette
propriete garantit que la solution numerique est proche de la solution continue. Par ailleurs, on ne
suppose pas que le schema part de la condition initiale exacte du syst`eme differentiel ; en effet, dune
part, il peut y avoir une erreur de troncature sur la valeur de la condition initiale et dautre part, la
condition initiale peut ne pas etre connue exactement, quelle soit elle-meme le resultat dun calcul, ou
quelle soit obtenue par un procede dechantillonnage. De facon generale, de meme que la solution dun
syst`eme differentiel est continue par rapport aux donnees initiales, la solution approchee par un schema
a un pas doit etre continue par rapport `
`
a une perturbation des conditions initiales. La convergence dun
schema resulte, comme on va le voir, de deux proprietes :
4 la stabilite ; cest une propriete propre au schema, et qui assure que le schema namplifie pas trop les
erreurs quon commet `
a chaque pas,
4 la consistance ; cest une propriete qui decrit la relation entre le schema et le syst`eme differentiel, et
qui implique que le schema secarte peu localement de la solution.
D
efinition 2.3 (Erreur de discr
etisation, de consistance)
On definit :
4 lerreur de discretisation
4 lerreur de consistance
: en = u(tn ) Un ,
: En = u(tn+1 ) u(tn ) hn (tn , u(tn ); hn ).
Lerreur de consistance est commise en remplacant un dans le schema par la solution exacte u(tn ).
D
efinition 2.4 (Stabilit
e)
On dit que la methode (Ph ) est stable sil existe M > 0 telle que pour toutes suites Un , Vn , n definies par
Un+1 = Un + hn (tn , Un ; hn )
Vn+1 = Vn + hn (tn , Vn ; hn ) + n
on a la propriete
n6Nh
kn k .
n6Nh
c S. Martin
Epreuve
de Modelisation
Option calcul scientifique
n=0
NX
h 1
kEn k
n=0
(t1 , u1 ), (t2 , u2 ),
La generalisation sous lhypoth`ese (moins restrictive) de Cauchy-Lipsschitz, est disponible dans [3] ainsi
que comme une application immediate du Lemme 2.7 qui sera demontre plus loin. Pour la methode dEuler
explicite, on a
NX
NX
h 1
h 1
kEn k =
ku(tn+1 ) u(tn ) hn f (tn , u(tn ))k
n=0
=
6
6
6
n=0
NX
h 1
tn+1
tn
n=0
NX
h 1 Z tn+1
Lt |t tn | + Lu ku(t)) u(tn )k dt
n=0 tn
NX
h 1
h2n
n=0
Lt + h2n Lu sup ku0 (t)k
[t0 ,tNh ]
h T Lt + Lu sup ku0 (t)k
[t0 ,tNh ]
n=0
2.2
Principaux r
esultats danalyse num
erique
t [0, T ], y RN
Preuve. Posons En = y(tn+1 ) y(tn ) hn (tn , y(tn ); hn ). Dapr`es la formule des accroissements finis, il
existe cn ]tn , tn+1 [ tel que :
En = hn (f (cn , y(cn )) (tn , y(tn ); hn )) .
En posant
n = hn (f (cn , y(cn )) (cn , y(cn ); 0)) ,
8
Epreuve
de Modelisation
Option calcul scientifique
on obtient
En = n + hn n .
Dune part, la fonction t 7 |f (t, y(t)) (t, y(t); 0)| est continue, donc integrable au sens de Riemann, et
on en deduit :
Z T
X
lim
|n | =
|f (t, y(t)) (t, y(t); 0)| dt.
h0
n<Nh
Dautre part,
|| 6 (h) =
max
|t t0 | 6 h
0 6 h0 6 h
la fonction (t, h) 7 (t, y(t); h) etant continue sur le compact [0, T ][0, h? ], elle est uniformement continue
et donc limh0 (h) = 0 ; on en deduit
X
X
|hn | 6 T (h),
do`
u lim
|hn | = 0.
h0
n6Nh
n6Nh
Dire que P
la methode est consistante equivaut `a dire que, pour toute solution de lequation y 0 (t) = f (t, y(t)),
on a lim h0 |En |, i.e.
t [0, T ], f (t, y(t)) = (t, y(t); 0).
Dapr`es le theor`eme de Cauchy-Lipschitz, pour tout (t? , y ? ) [0, T ]R, il existe une solution de lequation
differentielle y 0 (t) = f (t, y(t)) qui verifie y(t? ) = y ? . On en deduit que la propriete de consistance entrane
f (t? , y ? ) = (t? , y ? ; 0).
Th
eor`
eme 2.8 (CNS de convergence)
Si la methode (Ph ) est stable et consistante, alors elle est convergente.
Preuve. On pose
En = u(tn+1 ) u(tn ) hn (tn , u(tn ); hn ).
Puisque la methode est consistante,
lim
h0
NX
h 1
kEn k = 0.
X
max kUn u(tn )k 6 M kU0 u0 k +
kEn k .
n6Nh
n6Nh
Dapr`es ce qui prec`ede, max kUn u(tn )k tend vers 0 quand (U0 , h) tend vers (u0 , 0).
n6Nh
Th
eor`
eme 2.9 (CNS pour une m
ethode dordre p)
On suppose f C p ([0, T ] RN ) et que , /h, ..., p /hp existent et sont continues sur [0, T ] RN
[0, h? ]. Alors une CNS pour que la methode soit dordre p est que
(t, y; 0) = f (0) (t, y),
...,
p1
1
(t, y; 0) = f (p1) (t, y),
p1
h
p
o`
u les derivees sont definies par f (0) (t, y) = f (t, y) et
f (k) (t, y) =
f (k1)
(t, y) + y f (k1) (t, y) f (t, y), k = 1, ..., p.
t
9
c S. Martin
Epreuve
de Modelisation
Option calcul scientifique
Th
eor`
eme 2.10 (Convergence dordre p)
Soit U0 = u0 . Si une methode est stable et dordre p, et si f C p ([0, T ] R), alors
max |Un u(tn )k 6 M hp .
n6Nh
X
X
max kUn u(tn )k 6 M kU0 u0 k +
kEn k
et
kEn k 6 C hp .
n6Nh
n6Nh
n6Nh
M
ethodes de Runge-Kutta
Il sagit ici de trouver des methodes plus precises que la methode dEuler mais qui soient toujours des
methodes `
a un pas. En particulier, on cherchera des methodes dordre p en supposant que f C p+1 ([0, T ]
N
R ).
3.1
Principe g
en
eral des m
ethodes de Runge-Kutta
Une m
ethode nave (et co
uteuse !). Un moyen simple pour construire une methode dordre p est
dutiliser une methode de Taylor
(t, u; h) = f (t, u) +
hp1 (p1)
h (1)
f (t, u) + ... +
f
(t, u).
2
p!
Naturellement, verifie les hypoth`eses du Theor`eme 2.9 et permet de construire une methode dordre p.
De plus, on peut voir que cette methode est stable si, par exemple, f C p ([0, T ] RN ). Neanmoins, elle
presente un inconvenient majeur qui est la necessite dutiliser (de calculer) non pas une fonction f mais
p fonctions (f (0) , ..., f (p1) ). En pratique, ce calcul peut etre co
uteux surtout si f depend de param`etres.
On cherche donc des methodes ne necessitant que levaluation de f .
M
ethodes de quadrature (Runge-Kutta). Lidee est dessayer devaluer u en des temps intermediaires gr
ace `
a des formules de quadrature. Pour cela, cherchons `a interpreter les formules introduites
precedemment : si on reecrit le syst`eme differentiel
du
= f (t, u)
dt
sous forme integrale entre tj et tj+1 , on obtient
Z
tj+1
u(tj+1 ) = u(tj ) +
tj
du
(s) ds.
dt
On peut donc obtenir une approximation de u(tj+1 ) u(tj ) en utilisant une formule de quadrature ; si on
utilise la formule des rectangles `
a gauche, on aura
u(tj+1 ) u(tj ) ' hj
du
(tj ),
dt
ce qui nous conduit au schema dEuler explicite. En utilisant la formule des rectangles `a droite, on a
u(tj+1 ) u(tj ) ' hj
10
du
(tj+1 ),
dt
c S. Martin
Epreuve
de Modelisation
Option calcul scientifique
ce qui nous conduit au schema dEuler implicite. Enfin, en utilisant une formule avec comme noeuds les
extremites de lintervalle, on ecrit :
du
du
(tj ) +
(tj+1 ) .
u(tj+1 ) u(tj ) ' hj
dt
dt
Pour quune telle formule soit dordre 0 en tant que formule dintegration, il faut que + = 1. On tombe
donc sur la methode ; le cas = 1/2 qui est la formule des trap`ezes conduit `a la methode de CrankNicholson (ou point-milieu), qui est la plus precise. Pour fabriquer des schemas fondes sur des formules
dintegration, on raisonne comme suit : on se donne q noeuds cj appartenant `a [0, 1], distincts ou non,
ranges par ordre croissant et des formules de quadrature
Z 1
q
X
f (t) dt '
bj f (cj )
(3.1)
0
j=1
ci
f (t) dt '
0
q
X
aij f (cj ).
(3.2)
j=1
La formule de quadrature (3.2) diff`ere un peu des formules de quadrature classiques en ce quelle fait
intervenir des points situes `
a lexterieur de lintervalle dintegration (notamment si aij 6= 0 pour j > i).
Il ny a pas de difficulte nouvelle quand on fait cette hypoth`ese. Une formule de Runge-Kutta consiste `
a
construire une approximation basee sur ces formules de quadrature, i.e. si on pose tk,i = tk + ci hk ,
Uk,i = Uk + hk
q
X
(3.3)
j=1
Uk+1 = Uk + hk
q
X
bj f (tk,j , Uk,j )
(3.4)
j=1
Un point de vue identique mais leg`erement different dans la forme revient `a evaluer le terme integral de
la mani`ere suivante :
Z tn,i
q
X
(i)
u(tn,i ) = u(tn ) +
f (s, u(s)) ds ' u(tn ) + hn
aij f (tn,j , u(tn,j )),
tn
Z
(ii)
j=1
q
X
tn+1
u(tn+1 ) = u(tn ) +
tn
j=1
(ii)
Un,i = Un + hn
q
X
j=1
q
X
Un+1 = Un + hn
i = 1, ..., q
bj f (tn,j , Un,j )
j=1
Les Un,i sont calcules par (i), et Un+1 est evalue grace `a (ii) et aux Un,i calcules precedemment. Ainsi,
un schema de Runge-Kutta est enti`erement determine par ses coefficients que lon peut representer sous
la forme dun tableau (voit Tab.1).
On remarque que les relations (3.3) permettent de determiner les Uk,j explicitement si les aij sont nuls
pour j > i. Si les aij sont nuls pour j > i mais certains des aii ne le sont pas, la methode est dite semiimplicite, car on peut resoudre tour `
a tour chacune des equations (3.3) par une technique de resolution
dequations non lineaires. Enfin, sil y a des couples (i, j) avec j > i pour lesquels aij nest pas nul, (3.3)
forme un syst`eme de N q equations non lineaires couplees.
11
c S. Martin
Epreuve
de Modelisation
Option calcul scientifique
a11
a21
..
.
a12
a22
..
.
a1q
a2q
..
.
cq
aq1
b1
aq2
b2
aqq
bq
3.2
M
ethodes de Runge-Kutta usuelles
Les methodes etant enti`erement determinees par le tableau de leurs coefficients, nous indiquons ici celles
qui sont le plus couramment utilisees.
4 M
ethode dEuler implicite.
4 M
ethode dEuler explicite.
0
1
1
1
0
1
4 M
ethode de Heun.
4 M
ethode du point milieu.
0
1
1
1
0
1/2
0
1
1
0
1
1/2
0
1/2
0
0
1/6
0
0
1/2
0
1/3
0
1
1/2
0
0
1/2
4 M
ethode -implicite.
4 M
ethode RK4.
0
1/2
1/2
1
1
1
1
0
0
0
1
1/3
0
0
0
0
1/6
1 2
1/2
1/2
1
1
+ .
2 2 3
: un,1
tn,2 = tn + hn
: Un,2
tn+1
: Un+1
1
2
1
= Un + hn f (tn,1 , Un,1 )
2
1
1
1
= Un + hn
f (tn,1 , Un,1 ) + f (tn,2 , Un,2 )
2
2
2
1
1
f (tn , Un ) + f (tn+1 , Un + hn f (tn , Un ))
= Un + hn
2
2
= Un
Lexpression finale de Un+1 en fonction de Un est ici obtenue de mani`ere explicite car la methode de
Heun est explicite. Le calcul ne necessite que levaluation de la fonction f (`a plusieurs reprises) : en
consequence, non seulement cette methode est facile `a implementer, mais surtout elle est valable pour
toute fonction f suffisamment reguli`ere. Au contraire, la methode basee sur les developpements de Taylor
necessite levaluation des derivees de f ce qui, en pratique, peut se reveler co
uteux si f depend de plusieurs
param`etres et que lon modifie ces param`etres...
12
c S. Martin
Epreuve
de Modelisation
Option calcul scientifique
Th
eor`
eme 3.1 (Ordre dune m
ethode de RK)
La methode de Runge-Kutta estP
4 dordre 1 si et seulement si j bj = 1,
P
P
P
4 dordre 2 si et seulement si elle satisfait en outre j bj cj = 1/2 dune part et j (bj i aji ) = 1/2
dautre part.
Preuve. Les methodes de Runge-Kutta sont construites de la mani`ere suivante :
X
Uj (t, u, h) = u + h
aji f (t + h ci , Ui (t, u, h))
i
X
(t, u; h) =
bj f (t + h cj , Uj (t, u, h))
j
h0
Or, une methode est dordre 1 si et seulement si (t, u; 0) = f (t, u). Par continuite de f , on obtient :
X
(t, u; 0) =
bj f (t, u),
j
ce qui etablit lequivalence. Par ailleurs, une methode est de plus dordre 2 si /h(t, u; 0) = (1/2) f (1) (t, u).
Apr`es calculs, on obtient :
X f
f
Uj
(t, u; h) =
bj cj
(t, Uj (t, u, h)) +
(t, Uj (t, u, h))
(t, u, h) ,
h
t
u
h
j
!
X
Uj
X
(t, u, h) =
aji f (t + h ci , Ui (t, u, h)) .
aji f (t + h ci , Ui (t, u, h)) + h
h
h
i
i
Par passage `
a la limite sur h (les fonctions etant reguli`eres et bornees), on obtient
!
X
X
X
f
f
(t, u; 0) =
bj cj
(t, u) +
bj
aji
(t, u) f (t, u)
h
t
u
j
j
i
et on obtient ainsi la CNS proposee.
La methode dEuler (implicite, explicite ou point milieu) est dordre 1, la methode de Heun dordre 2, la
methode -implicite dordre 3, la methode de RK classique dordre 4. On peut continuer `a deriver ainsi
de suite des CNS et calculer les coefficients (bj ), (aij ), (cj ) en fonction de ces conditions. Mentionnons
toutefois quil ne sert `
a rien dutiliser une methode precise (dordre 4) si f ou u nest pas 5 fois differentiable
(on naura pas, en tout cas, lordre prevu).
R
ef
erences
[1] M. Crouzeix et A. Mignot. Analyse numerique des equations differentielles. Masson, 1984.
[2] J.-P. Demailly. Analyse numerique et equations differentielles. edp Sciences, 1996.
[3] M. Schatzman. Analyse numerique : une approche mathematique. Dunod, 2002.
13
c S. Martin