Professional Documents
Culture Documents
E. Montseny
1 1
1 2 2 3
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
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
s'crit :
(1)
y(t)
tn ,
au moyen
de calculs simples eectus par un ordinateur. Autrement dit : on discrtise le temps en instants successifs
tels que
tn+1 = tn + t (t tant appel le pas de y(t1 ), y(t2 ), ..., y(tn ), ... par une suite de nombres
y1 , y2 , ..., yn , ...
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)
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 .
y(tn + t) y(tn ) t
d'o le schma de rsolution numrique :
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
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.
yn
est un schma numrique qui est tel que cette erreur tend vers temps de plus en plus n (i.e. pas de temps
t 0).
choisi est grand, moins le schma est prcis (on approche une drive par la
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.
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.
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