Vous êtes sur la page 1sur 3

Introduction aux mthodes de rsolution numrique des quations direntielles

E. Montseny

Table des matires


1 2 Introduction Schmas numriques
2.1 2.2 2.3 2.4 Equations direntielles non linaires . . . . . . . . . . . . . . . . . . . . . . . . . . . Schma d'Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1
1 2 2 3

Quelques notions importantes Applications et dmo Matlab

Introduction
Dterminer la solution analytique d'une quation direntielle est tout point de vue ce qu'il y a

de plus intressant ; il ne faut pas pour autant se voiler la face : en dehors des quations direntielles linaires coecients constants ou d'ordre peu lev, on est en gnral bien incapable de rsoudre analytiquement une quation direntielle,

a foriori

lorsqu'elle est non linaire.

On doit alors faire appel des mthodes de rsolution numrique, pour calculer une solution approche au moyen d'ordinateurs. Cette mthode de rsolution fait appel des schmas num-

riques, qui sont des algorithmes de calcul permettant de rsoudre numriquement une quation
direntielle (i.e. en calculer une solution approche). On prsente dans ce petit court les bases de la construction de schmas numriques pour la rsolution d'quations direntielles d'ordre

1.

Schmas numriques
Si l'on voulait tre vraiment cohrent, on ne devrait pas prciser le terme "non linaires". Une

2.1 Equations direntielles non linaires


quation direntielle, dans son criture gnrale, est non linaire, le prciser est redondant. Les quations direntielles linaires sont un type particulier d'quations direntielles. Une quation direntielle d'ordre

s'crit :

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


o

(1)

est une fonction rgulire. On se propose de rsoudre numriquement des quations de ce

type, c'est--dire approcher la solution

y(t)

sur un ensemble dnombrable d'instants

tn ,

au moyen

de calculs simples eectus par un ordinateur. Autrement dit : on discrtise le temps en instants successifs

t0 < t1 < t2 < ... < tn < ...,

tels que

discrtisation). On cherche alors approcher

tn+1 = tn + t (t tant appel le pas de y(t1 ), y(t2 ), ..., y(tn ), ... par une suite de nombres

y1 , y2 , ..., yn , ...

2.2 Schma d'Euler

C'est sans conteste le plus simple et le plus intuitif des schmas numriques. L'ide de la mthode est simple : approcher le terme driv

y (t)

de (1) par une simple dirence divise :

y (tn )

y(tn + t) y(tn ) , t tn
et considrer

Dit autrement, cette approximation consiste prendre la tengeante la courbe cette valeur pour drive jusqu'en

tn+1 .

En injectant cette approximation dans (1), on obtient :

y(tn + t) y(tn ) t
d'o le schma de rsolution numrique :

f (tn , y(tn )),

yn+1 = yn + t f (tn , yn ).

(2)

Ainsi, pour rsoudre (1) numriquement, il sut d'utiliser cette relation de proche en proche :  Initialiser  Calculer 

y0 yn+1 n=n+1

partir de la valeur de

yn

avec (2)

Remarque :

, car la quantit yn+1 est exprime explicitement en fonction de , ce qui signie que le calcul de yn+1 n'utilise que la valeur yn l'instant prcdent (une mthode deux pas utiliserait yn et yn1 etc.).
yn , et quali de
explicite schma un pas

Ce schma est dit

Remarque :

Ce schma est intimement li la mthode de quadrature des rectangles. En fait, la plupart des schmas numriques de rsolution d'EDO sont lis une mthode de quadrature (ou une combinaison de plusieurs mthodes).
Il existe de nombreux autres schmas numriques, plus prcis que le schma d'Euler, qui ne

seront pas prsents faute de temps. Citons par exemple le schma du point milieu, le schma de Heun, ou encore la classique famille des mthodes de Runge-Kutta.

2.3 Quelques notions importantes


1. Erreur de consistance : Il s'agit de l'erreur que gnre l'utilisation du schma numrique sur un pas. Cette erreur doit bien videmment rester raisonnable si on veut esprer obtenir une solution approche

yn

proche de la solution exacte (inconnue)

est un schma numrique qui est tel que cette erreur tend vers temps de plus en plus n (i.e. pas de temps

y(tn ). Un schma consistant 0 lorsque l'on discrtise le

t 0).

En eet, il faut noter un point important : plus le

choisi est grand, moins le schma est prcis (on approche une drive par la

tangente sur une "longue" priode). Le schma d'Euler est consistant.

2. Pour un pas de temps

t x, plus un schma est prcis (plus l'erreur est petite), mieux c'est :

ceci est traduit par l'ordre du schma numrique (on ne s'attardera pas dessus). Plus un schma est d'ordre faible, plus il faudra prendre un pas de temps petit pour avoir une solution approche prcise (et donc plus il faudra faire de calculs...). Le schma d'Euler est d'ordre et est donc peu prcis. 3. Stabilit. Toute personne ayant programm un schma numrique a t confront au problme de la stabilit, qui se traduit par une solution numrique qui tend vers l'inni alors qu'elle devrait pas (on dit qu'elle explose) . On dit que le schma est instable. Ceci peut-tre d soit une erreur de programmation, soit au schma lui-mme, qui accumule les erreurs (de consistance) de manire incontrle. Le schma d'Euler est stable. Si un schma est stable et consistant, la solution numrique converge vers la solution exacte de l'EDO lorsque le pas tend vers

0. t
choisi qui, s'il est trop grand, gnre des erreurs trop im-

4. Pas de discrtisation. Il peut cependant arriver qu'un schma stable semble... instable ! Ceci est d au pas de temps

portantes pour la plage de temps considre ; il en rsulte une solution approche qui s'carte compltement de la solution exacte et tend vers l'inni ; cela ne veut pas ncessairement dire que le schma est instable (cf. dmo Matlab : on utilise un schma d'Euler, stable, et pourtant la solution "explose"), mais simplement qu'il faut diminuer le pas de temps pour avoir une accumulation d'erreur moins importante.

2.4 Applications et dmo Matlab


Soit l'quation direntielle :

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


dont on connait la solution analytique :

y(t) =

sin t cos t . 2

On va rsoudre cette EDO avec un schma d'Euler et illustrer les notions introduites. Ecrire l'algorithme de rsolution de cette quation par un schma d'Euler et le mettre en oeuvre sous Matlab.

Faire de mme pour l'quation suivante (de Bernoulli) :

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


dont la solution est :

y(t) =

1 . 1 t + et

bien sr, certaines quations direntielles ont une solution exacte qui tend vers l'inni, mais ce n'est pas un problme d'instabilit dans ce cas.
3