Vous êtes sur la page 1sur 11

DETAT

UNIVERSITE
DHAITI
DES SCIENCES
FACULTE
Cours sur la resolution dequations differentielles
ordinaires prepare par:
Jean-Marie Vilaire
rentielles
1. Equations Diffe
Les equations differentielles apparassent naturellement dans differents domaines des sciences (mecanique des fluides, transfert de la chaleur, probl`eme du pendule, elimination de drogue dans le sang, etc.) et
des sciences sociales, etc. Elles decrivent levolution de phenom`enes dependant du temps. Probablement
la resolution des equations differentielles est le domaine de lanalyse numerique o`
u les applications sont
plus nombreuses.
Une equation differentielle dordre 1 est de la forme:
y0 (t) = f(y(t), t)
o`
u f : Rd [0, T ] 7 Rd est une fonction continue.
Le probl`eme avec condition initiale

(1)

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


y(0) = y0 Rd ,

est appele probl`


eme de Cauchy.
Le premier probl`eme quon aborde dans cette section est une equation avec valeur intiale (equation
(1), avec d = 1),

(2)

x0 (t) = f (t, x(t)),


x(0) =
a.

Le theor`eme suivant garantit lexistence et lunicite de la solution de lequation (2), dont la preuve
est supposee connue.
Th
eor`
eme 1.1. Soit f (t, x) une fonction continue L-Lipschitsienne en x (par rapport `a la deuxi`eme
variable) i.e,
|f (y, x) f (t, y)| L|x y|.
1

Alors pour toute valeur a il existe une unique fonction derivable x(t) qui verifie
 0
x (t) = f (t, x(t)),
x(0) =
a.
Letude dapproximations numeriques pour les equations differentielles ordinaires commence avec les
methode a` un pas.
Soit le probl`eme (2) nous cherchons une approximation de x(t) dans un certain intervalle [0, T ]. Pour
cela, nous chercherons une facon de generer des valeurs x1 , x2 , ..., xN qui approximent x(t1 ), x(t2 ), ..., x(tN ),
avec 0 = t0 < t1 < t2 < ... < tN = T. Apr`es on pourra interpoler avec ces valeurs pour obtenir une
approximation de x(t). Si on est interesse de connatre seulement la valeur de x(T ) dans ce cas les pas
intermediaires x1 , ..., xN 1 peuvent se voir comme des pas auxiliaires pour calculer xN x(T ).
La methode generale `a un pas a la forme
xi+1 = xi + h(xi , ti , h).
La fonction est connue sous le nom de fonction daccroissement et nous proportionne une approximation xi+1 de x(ti +h) `a partir de xi , ti et de h. Un avantage de ces methodes est quon peut facilement
changer le pas h i c-`a-d nous calculons une approximation en un temps posterieur ti+1 a` partir dune
approximation au temps ti .
thodes dEuler et Taylor dordre k
2. Me
La methode dEuler est basee sur le processus suivant,
x(ti + h) x(ti ) + hx0 (ti ) = x(ti ) + hf (ti , x(ti )),
pour des valeurs petites de h. En consequence, si xi est une approximation pour x(ti ) on a que
xi+1 = xi + hf (ti , xi )
est une approximation raisonnable pour x(ti + h) = x(ti+1 ).
Exemple 2.1. Resolvons lequation
x0 (t) = x(t),
x(0) = 1.
La solution exacte est x(t) = et . Maintenant en appliquant la methode dEuler on trouve

t
et
h = 0.25 h = 0.125

0.125
1.1331
1.125

1.25
1.2656
0.250 1.2840
0.375 1.4549
1.4238

0.500 1.6487 1.5625


1.6018

0.625
1.8682
1.8020

0.750 2.1170 1.9531


2.0272


La methode dEuler est de la forme


xi+1 = xi + hf (ti , xi ).
Une facon de penser est de voir quon approxime en utilisant le polynome de Taylor de degre un en ti
pour calculer xi+1 . En general, on peut utiliser une expansion avec beaucoup plus de termes comme suit:

On sait que
1
1
x(ti + h) x(ti ) + hx0 (ti ) + h2 x00 (ti ) + ... + hk x(k) (ti ).
2
k!
Si on connaissait les derivees de x jusqua lordre k on pourrait les utiliser pour implementer une
methode qui approxime x(ti + h) `a partir de x(ti ). Lequation differentielle
x0 = f (t, x)
nous proportionne toutes les derivees dordre superieur de la facon suivante. En derivant une fois on
obtient
x00 = fx (t, x)x0 + ft (t, x),
c-`
a-d
x00 = fx (t, x)f (t, x) + ft (t, x).
A partir de cela on peut poser
1
x(ti + h) x(ti ) + hf (ti , x(ti )) + h2 fx (ti , x(ti ))f (ti , x(ti )) + ft (ti , xi ).
2
On peut deriver x00 pour obtenir x000 en fonction de f et ses derivees et ainsi de suite jusqua la derivee
dordre k en fonction de f et de ses derivees. Cela nous donne une facon de calculer des methodes
dapproximation `a un pas (en utilisant seulement xi , ti et h pour calculer lapproximation suivante
xi+1 ). C-`a-d, `a partir de
1
1
x(ti + h) x(ti ) + hx0 (ti ) + h2 x00 (ti ) + ... + hk x(k) (ti ),
2
k!
nous proposons la methode,
xi+1 xi + hf (ti , xi ) + ... +

1 k (k)
h x (ti ) = xi + hTk (xi , ti , h).
k!

Ces methodes sont connues sous le nom de methodes de Taylor dordre k. Le probl`eme majeur de ces
methodes est quelles requierent trouver et evaluer les derivees successives de f (t, x).
Exemple 2.2. Calculer la mehode de Taylor dordre 2 pour le probl`eme
 0
x (t) = 2tx(t),
x(0) =
1.
En derivant on obtient
x00 = 2x + 2tx0 = 2x(1 + 2t2 ).
Alors,
xi+1 = xi + h[2ti xi + xi (1 + 2t2i )h].
Exemple 2.3 (Exercice). Calculer la methode de Taylor dordre 3 de lexemple anterieur.

thodes de Runge-Kutta
3. Me
Les methodes generales `a un pas sont de la forme
xi+1 = xi + h(xi , ti , h).
Nous pouvons penser que h(xi , ti , h) est une approximation de de la variation de x quand nous passons
de ti a` ti+1 . Ainsi, nous proposons une forme particuli`ere de donnee par
(xi , ti , h) = A1 f (1 , 1 ) + ... + AN f (N , N ),
o`
u (i , i ) sont des ponits proches de (ti , xi ). Pour specifier la methode quon utilise il est necessaire de
specifier les Ai et les ponits (i , i ).
Maintenant voyons un cas particulier o`
u on utilise seulement deux points (ti , xi ) et (ti + h, xi +
hf (xi , ti )). Il nous reste libre (par exemple en considerant = 1 on utilise (ti+1 , xi+1 ) o`
u xi+1 est
lapproximation que donne la methode dEuler).
En general, nous avons
xi+1 = xi + h[A1 f (ti , xi ) + A2 f (ti + h, xi + hf (ti , xi ))].
La strategie de la methode de Runge-Kutta est de choisir A1 , A2 et pour que ceci sapproxime `a
une methode de Taylor.
Voyons comment cela se fait. Developpons
f (ti + h, xi + hf (ti , xi )) = f (ti , xi ) + ft (ti , xi )h + fx (ti , xi )hf (ti , xi ) + E,
o`
u E est de la forme E = Ch2 . Maintenant en regroupant les termes on obtient
(ti , xi , h) = (A1 + A2 )f (ti , xi ) + A2 [ft (ti , xi ) + fx (ti , xi )f (ti , xi )] + Ch2 .
Rappelons que dans la methode de Taylor on a
h
T2 (ti , xi , h) = f (ti , xi ) + [ft (ti , xi ) + fx (ti , xi )f (ti , xi )].
2
En egalant les coefficients, on arrive a`
1
1
1
A1 = 1 1 A2 = 1 .
2
2
2
C-`a-d, il y a une infinite de solutions dependant de (et donc une une infinite de methodes possibles).
Un choix possible = 1/2 correspond a` la methode dEuler modifiee.
A1 + A2 = 1;

A2 =

Un autre choix possible = 1 qui donne


h
xi+1 = xi + [f (ti , xi ) + f (ti+1 , xi + hf (ti , xi ))]
2
correspond `a la methode de Heun.
Remarque 3.1. Ces methodes ne requierent pas levaluation de la derivee de f.

En considerant plus de termes dans le developpement de Taylor on peut deduire les methodes de
Runge-Kutta dordre superieur. Specifiquement, une methode de Runge-Kutta dodre k a la forme
xi+1 = xi + h(ti , xi , h)
o`
u
(ti , xi , h) = Tk (xi , yi , h) + O(hk ).
(ti , xi , h) =

m
X

Aj Kj (ti , xi , h).

j=1

Les termes Kj sont donnes par


K1 (ti , xi , h) = f (ti , xi ),
Kj (ti , xi , h) = f (ti + j h, yi + h

j1
X

jk Kk (ti , xi , h)), j 2

k=1

o`
u
0 < j 1, et j =

j1
X

jk .

k=1

Exemple 3.2. Une forme de Runge-Kutta dordre quatre est


h
xi+1 = xi + [K1 + 2K2 + 2K3 + K4 ],
6
K1 = f (ti , xi ),
K3 = f (ti + h2 , xi + h2 K2 ),
K2 = f (ti + h2 , xi + h2 K1 ), K4 = f (ti + h, xi + hK3 ).
thodes de pas variable
4. Me
Lidee est de choisir les pas hi de facon variable.
4.1. M
ethode dEuler pour une
equation qui explose. ???????????
5. Analyse derreur
Definissons lerreur de troncature de la mani`ere suivante
Definici
on 5.1. Soit x(t) la solution de lequation differentielle x0 (t) = f (x(t), t) et soient t , h donnes,
on definit lerreur de troncature locale, comme
x(t + h) = x(t ) + h(t , x(t ), h) + h.

5.1. M
ethodes dEuler et Taylor dordre k. Dans ce cas lerreur de troncature est donnee par
x(t + h) = x(t ) + hx0 (t ) +

h2 00
x ()
2

on obtient

h
= + x00 ().
2
Le meme argument utilise anterieurement nous conduit `a
=

hk
x(k+1) ()
(k + 1)!

Definici
on 5.2. La methode xi+1 = xi + h(ti , xi , h) est dite dordre k si lerreur de troncature locale
satisfait
= O(hk )
Definici
on 5.3. Si u(t) est une solution de
 0
u (t) =
f (t, u(t))
u(ti ) = xi , i = 1, 2, ..., n.
Lerreur locale se definit comme u(ti+1 ) xi+1 .
Lerreur globale est x(ti+1 ) xi+1 .
Remarque 5.4. Lerreur globale et lerreur locale sont relationnees par la formule
x(ti+1 ) xi+1 = x(ti+1 ) u(ti+1 ) + u(ti+1 ) xi+1 .
Ceci montre que lerreur globale est formee de deux composantes: une donnee par lequation differentielle
et lautre donnee par la methode.
Lerreur locale peut sexprimer en fonction de lerreur de troncature locale,
u(ti+1 ) = u(ti ) + h(ti , u(ti ), h) + h
En faisant u(ti ) = yi on a
u(ti+1 ) = yi + h(ti , u(ti ), h) + h
et alors
u(ti+1 ) yi+1 = h.
Si la methode est dordre p, alors lerreur locale satisfait
u(ti+1 ) yi+1 = O(hp ).
5.2. Convergence y analyse de lerreur. Maintenant on se restreint aux probl`emes reguliers, c-`a-d
x0 (t) = f (x(t), t), x(0) = x0
o`
u la solution est unique et reguli`ere dans [0, t0 ].
Definici
on 5.5 (Convergence). La methode est convergente si pour tout t [0, t0 ] on a
lim

n,t =nh

xn = x(t ).

Supposons que notre methode a` un pas est donnee par


xi+1 = xi + h(ti , xi , h)
et en plus est Lipschitzienne, i.e,
|(t, x, h) (t, y, h)| K|x y|.
Fixons un pas h = (b a)/n et soit ej lerreur globale, i.e,
ej = x(tj ) xj .
Maintenant utilisons
xi+1 = xi + h(ti , xi , h)
et
x(ti+1 ) = x(ti ) + h(ti , x(ti ), h) + hi
o`
u hi est lerreur de troncature locale en ti . En faisant la difference nous obtenons
ei+1 = ei + h((ti , x(ti ), h) (ti , xi , h)) + hi
puisque est Lipschitzienne on obtient
|ei+1 | (1 + Kh)|ei | + hi
et si on pose = max{i } on trouve
|ei+1 | (1 + Kh)|ei | + h.
Maintenant nous enoncons le theor`eme suivant
Th
eor`
eme 5.6.
|ej |

K(tj )
(e
1)
K

Preuve. On a
|ei+1 | (1 + Kh)|ei | + h
en iterant une fois on obtient
|ei+1 | (1 + Kh2 )|ei1 | + h (1 + (1 + hK)).
De cette facon on obtient
|ei+1 | (1 + Khi+1 )|e0 | + h

i
X

!
(1 + hK)j

j=0

Comme e0 = x(0) x0 on trouve e0 = 0. Alors, en utilisant les sommes partielles de la serie geometrique
on a
(1 + Kh)i+1 1

|ei+1 | h
= ((1 + hK)i+1 1).
(1 + Kh) 1
K
Maintenant remarquons que
(1 + )i+1 e(i+1)
alors

|ei+1 | (eK(ti+1 ) 1).


K


De ce theor`eme on deduit que les methodes `a un pas sont convergentes si
lim = 0.

h0

Definici
on 5.7 (Consistance). Une methode est dite consistante si
lim = 0.

h0

Supposons que est continue, on a la consistance


x0 (ti ) = (ti , x(ti ), 0).
Comme x est solution de lequation differentielle on a
x0 (ti ) = f (x(ti ), ti ).
Et donc
(ti , x(ti ), 0) = f (x(ti ), ti ).
Preuve. Exercice. Prouver que les methode dEuler, de Runge-Kutta et de Taylor satisfont cette condition.

Remarque 5.8. De la condition de Lipschitz de on peut extraire une condition de Lipschitz de f.
Remarquons que si on a un syst`eme dequations
U 0 (t) = F (U (t), t)
avec
U = (u1 , u2 , ..., uN )
on peut utiliser les memes methodes quavant, par exemple la methode dEuler nous donne
Ui+1 = Ui + hF (Ui , ti ).
En general, les methodes `a un pas ont la forme
Ui+1 = Ui + h(Ui , ti , h).
thodes line
aires a
` pas multiples
6. Me
Jusquici pour approximer les solutions de x0 = f (x, t) nous nous basons au point anterieur pour
calculer le suivant.
La philosophie des methodes `a pas multiples consiste a` utiliser les k points anterieurs a` ti pour calculer
lapproximation en ti+1 .
Les methodes `a pas multiples lineaires sont de la forme
xn+k =

k1
X
j=0

j xn+j + h

k
X

j f (tn+j , xn+j ).

j=0

Plus generalemnt la methode anterieure est connue sous le nom de methode a` pas multiples avec k pas.

Par exemple si on approxime la derivee par


x(t + h) x(t h)
x0 (t)
2h
en considerant des points equidisants on a
xi+1 xi1
x0 (ti )
2h
et comme
x0 (ti ) = f (x(ti ), ti ) f (xi , ti )
on peut poser
xi+1 xi1
= f (xi , ti )
2h
i.e,
xi+1 = xi1 + 2hf (xi , ti )
qui est une methode a` pas multiples de deux pas (pour calculer xi+1 on utilise xi et xi1 ).
Les methodes dintegration proportionnent aussi des exemples de methodes `a pas multiples, par
exemple, si on approche lintegrale
Z tn+2
x(tn+2 ) x(tn ) =
x0 (s)ds
tn

par la methode de Simpson on obtient


h 0
(x (tn ) + 4x0 (tn+1 ) + x0 (tn+2 )).
3
Et comme x0 = f (x, t) nous pouvons proposer la methode suivante
h
xn+2 xn = (f (xn , tn ) + 4f (xn+1 , tn+1 )) + f (xn+2 , tn+2 )).
3
qui est une methode a` pas multiples de deux pas.
Maintenant nous utiliserons la notation
k
k
X
X
j xn+j = h
j fn+j
x(tn+2 ) x(tn )

j=0

j=0

pour la methode.
La methode est explicite si k = 0. Si k 6= 0 la methode est dite implicite.
Si nous utilisons une formule du type
Z tn+k1
x0 (s)ds h(A0 x0 (tn ) + ... + Ak x0 (tn+k ))
tn+k

pour approximer les integrales on trouve une methode de la forme


xn+k xn+k1 = h(A0 fn + ... + Ak fn+k ).
Cette methode est connue sous le nom de Adams-Bashforth si elle est explicite. Si elle est implicite
cest la methode de Adams-Moulton.

6.1. Convergence des m


ethodes `
a pas multiples. Commencons avec lerreur de troncature pour
une methode de k pas.
k
k
X
X
j xn+j = h
j fn+j .
j=0

j=0

Si x(t) est la solution de x = f (x, t) lerreur de troncature locale est donnee par
k
X

j x(t + jh) h

j=0

k
X

j x0 (t + jh) = h.

j=0

Si x(t) est assez reguliere, nous pouvons exprimer h de la forme


h = C0 x(t) + C1 hx0 (t) + C2 h2 x00 (t) + ... + Cq hq x(q) (t) + ...
Pour voir cela, nous ecrivons
x00 (t)
(jh)2 + ...
x(t + jh) = x(t) + x (t)jh +
2
000
x
(t)
x0 (t + jh) = x0 (t) + x00 (t)jh +
(jh)2 + ...
2
En remplacant dans lexpression de et egalant les puissances de h on obtient.
0

C0 = 0 + ... + k
C1 = 1 + 22 + 33 + ... + kk 1 2 ... k .
Et en general pour tout q 1 on a
1
1
Cq = 1 + 2q 2 + 3q 3 + ... + k q k
(1 + 2q1 2 + ... + k q1 k ).
q!
(q 1)!
Si C0 = C1 = ... + Cp = 0 et Cp+1 6= 0 la methode est dite dordre p. Pour une methode dordre p
lerreur satisfait
h = Cp+1 hp+1 x(p+1) (t) + O(hp+2 ).
Pour voir la convergence, comme avant, fixons t et prenons n et h tels que t = (n + k)h. Nous voulons
que
lim xn+k = x(t ).
h0

Nous voulons voir quelles conditions il faut imposer `a la methode pour quon ait
lim xn+k = x(t ).

h0

En premier lieu soit le probl`eme x0 (t) = 0, x(0) = 1 (solution x 1). La methode appliquee `a ce
probl`eme se reduit a`
k
X
j xn+j = 0.
j=0

Pour nimporte quelle methode a` pas multiples nous devons avoir (puisque k est fixe et h 0) xn+k
x(t ), ..., xn x(t ). Alors on peut ecrire
xn+j = x(t ) + j (h), avec j (h) 0 quand h 0.

En utilisant ceci on obtient

k
X

j x(t ) +

k
X

j j (h) = 0.

j=0

Comme la seconde somme tend vers zero quand h 0 il nous reste

x(t )

k
X

j = 0

j=0

i.e,
C0 = 0.
On doit avoir C1 0 pour que la methode converge. Considerons le probl`eme x0 (t) = 1, x(0) = 0
(solution x(t) = t). La methode pour ce probl`eme se reduit a`
k
X

j xn+j = h

k
X

j=0

j .

j=0

Il est facile de verifier que la suite donnee par


xl = lhM
est solution de ce schema o`
u

Pk

j=0

M = Pk

.
j
j
j=0
Si les valeurs initiales sont telles que xl = lhM et la methode va produire la solution xl = lhM et en
particulier
xn+k = (n + k)hM.
Comme nous supposons que la methode est convergente, les valeurs initiales satisfont xi x(0) = 0
quand h 0, et en plus xn+k x(t ), mais
xn+k = (n + k)hM = t M t .
Alors on conclut
M =1
ce qui donne
C1 = 0
Cest la consistance de la methode `a pas multiples.
References
[1] Rappaz, J. et Picasso, M., Introduction `
a lanalyse numerique. Presses polytechniques et Universitaires Romandes,
Lausanne, Suisse, 1998.
[2] Fortin, A., Analyse numerique pour ingenieurs. Editions de lecole Polytechnique de Montreal, Montreal, Canada,
1995.
[3] El Jai, A., Elements danalyse numerique. Collection Etudes, Presse Universitaire de Perpignan, 2003.

Vous aimerez peut-être aussi