• Aucun résultat trouvé

Chapitre III Equations Diff´erentielles Ordinaires

N/A
N/A
Protected

Academic year: 2021

Partager "Chapitre III Equations Diff´erentielles Ordinaires"

Copied!
30
0
0

Texte intégral

(1)

Chapitre III

Equations Diff´erentielles Ordinaires

Ce chapitre est consacr´e `a la r´esolution num´erique d’un syst`eme d’´equations diff´erentielles ordi-

naires

...

(0.1) En notation vectorielle, ce syst`eme s’´ecrit

!

(0.2)

o`u" # %$ et'&)(*,+-(*

/.

(*

. Voici quelques livres qui traitent de ce sujet.

Bibliographie sur ce chapitre

K. Burrage (1995): Parallel and sequential methods for ordinary differential equations. The Clarendon Press, Oxford University Press. [MA 65/369]

J.C. Butcher (1987): The Numerical Analysis of Ordinary Differential Equations. John Wiley & Sons. [MA 65/276]

J.C. Butcher (2003): Numerical Methods for Ordinary Differential Equations. John Wiley & Sons. [MA 65/470]

M. Crouzeix & A.L. Mignot (1984): Analyse Num´erique des Equations Diff´erentielles. Masson. [MA 65/217]

P. Deuflhard & F. Bornemann (1994): Numerische Mathematik II. Integration gew¨ohnlicher Differential- gleichungen. Walter de Gruyter. [MA 65/309]

E. Hairer, S.P. Nørsett & G. Wanner (1993): Solving Ordinary Differential Equations I. Nonstiff Problems.

Springer Series in Comput. Math., vol. 8, 2nd edition. [MA 65/245]

E. Hairer & G. Wanner (1996): Solving Ordinary Differential Equations II. Stiff and Differential-Algebraic Problems. Springer Series in Comput. Math., vol. 14, 2nd edition. [MA 65/245]

E. Hairer, C. Lubich & G. Wanner (2002): Geometric Numerical Integration. Structure-Preserving Algo- rithms for Ordinary Differential Equations. Springer Series in Comput. Math., vol. 31, 2nd edition in preparation. [MA 65/448]

P. Henrici (1962): Discrete Variable Methods in Ordinary Differential Equations. John Wiley & Sons. [MA 65/50]

A. Iserles (1996): A First Course in the Numerical Analysis of Differential Equations. Cambridge Texts in Applied Mathematics, Cambridge University Press.

J.D. Lambert (1991): Numerical Methods for Ordinary Differential Equations. John Wiley & Sons. [MA 65/367]

A.M. Stuart & A.R. Humphries (1996): Dynamical Systems and Numerical Analysis. Cambridge Univ.

Press. [MA 65/377]

(2)

III.1 Quelques exemples typiques

Pour des ´equations diff´erentielles d’un int´erˆet pratique on trouve rarement la solution exprim´ee avec une formule exacte. On est alors oblig´e d’utiliser des m´ethodes num´eriques.

Exemple 1.1 (mod`ele de Lorenz) Une ´equation tr`es cel`ebre est celle de Lorenz (1979)

,0213

54

176

98

,0:

6

,0;

<

4-=

0-76 6

98

>:

<

?

76@0BAC7< <

98

=

0ED

(1.1)

avec 1FGD 8 ,= IH7: etAJE:K7L . La solution est chaotique et ne devient jamais p´eriodique. Voici

la composante comme fonction de sur l’intervalle M8 D 88N.

0 20 40 60 80 100

−10 0 10

Les m´ethodes classiques comme les m´ethodes de Runge–Kutta (voir le paragraphe III.2) ou les m´ethodes multipas (paragraphe III.5) nous permettent de trouver sans difficult´es des bonnes approximations.

La solution O 6 < $ peut aussi ˆetre interpr´et´ee comme une courbe para- m´etrique dans l’espace (*

<

(avec param`etre ). Leurs projections sur le plan des composantes

76 et < sont dessin´ees dans la figure III.1. L’intervalle d’int´egration est M8 HP N. La valeur initiale est marqu´ee par un point noir ´epais.

−20 −10 0 10 20

10 20

−20

−10

−20 −10 0 10 20

30 40

10

valeur initiale

6

7<

FIG. III.1: Deux vues de la solution QRSUT5V?RWQ

RSUTCXYQ

6

RSZTCXYQ

<

RSUTCT

$ du probl`eme de Lorenz (1.1)

(3)

When the equations represent the behaviour of a system containing a number of fast and slow reactions, a forward integration of these equations becomes difficult. (H.H. Robertson 1966) Exemple 1.2 (r´eactions chimiques) L’exemple suivant de Robertson (1966) est devenu c´el`ebre comme ´equation test pour des ´etudes num´eriques (Willoughby 1974): la r´eaction chimique

[

\C]

0^0

. _

(lente)

_ 4 _

<`

a

0^0

. b 4 _

(tr`es rapide)

_ 4 b

Zc

0^0

. [ 4 b

(rapide) conduit au syst`eme d’´equations diff´erentielles raides

[ & d0

88e f4

D 8 ] 67<

g8

hD

_ &

6

8i8e

0ED 8 ]

76<20jLlk)D 8nm

6

6

6 g8

8

b &

<

Llk)D

8nm

6

6

<

g8

8

(1.2) Si on utilise une m´ethode classique (par exemple, la m´ethode de Runge–Kutta DOPRI5) on est oblig´e de prendre des pas d’int´egration tr`es petits pour obtenir une approximation correcte (voir la figure III.2). Dans le paragraphe III.9 nous ´etudierons des m´ethodes num´eriques adapt´ees `a ce type de probl`emes (dont un repr´esentant est RADAU5). Elles donnent une grande pr´ecision avec des grands pas d’int´egration.

.0 .1 .2 .3 .4 .5

.000032 .000034 .000036

6

transient

solution DOPRI5: 345 steps, ToloD 8np

6

337 steps, TolhD 8 p

<

solution RADAU5: 14 steps, ToloD 8np

6

FIG. III.2: Solution num´erique pour (1.2) obtenue par une m´ethode classique (DOPRI5) et par une m´ethode pour des ´equations diff´erentielles raides (RADAU5)

Exemple 1.3 (int´egration `a long terme du syst`eme plan´etaire) Comme dernier exemple, consi- d´erons le probl`eme `a q corps qui est important aussi bien dans l’astronomie (mouvement des plan`etes) que dans la biologie mol´eculaire (mouvement des atomes). Les ´equations sont

r

s tuv

rw

t t

0x

r

y t

0j

r y <

(1.3) o`u r{z (*

<

est la position du | `eme corps,

w r

sa masse, et s la constante gravitationnelle.

En introduisant la vitesse} r ~ r comme nouvelle variable, on obtient un syst`eme d’´equations diff´erentielles pour les r et} r de dimensionq o`uq est le nombre des corps consid´er´es.

Comme exemple concret, consid´erons le mouvement de cinq plan`etes ext´erieures autour du soleil (q  corps).1 La figure III.3 montre la diff´erence entre une m´ethode classique (m´ethode d’Euler explicite) et une m´ethode adapt´ee `a ce probl`eme; voir le paragraphe III.10 pour une expli- cation.

1La constante€ , les masses‚ est les valeurs initiales pour les positions et vitesses sont donn´ees dans le para- graphe I.2.3 du livre Geometric Numerical Integration de Hairer, Lubich & Wanner (2002).

(4)

J S U

N P

explicit Euler,ƒ hD 8

J S

U N P

symplectic Euler,ƒ oD 88

FIG. III.3: Solution num´erique pour (1.3) obtenue par une m´ethode classique (m´ethode d’Euler explicite) et par une m´ethode ´etudi´ee au paragraphe III.10

Avant de discuter la r´esolution num´erique des ´equations diff´erentielles, nous rappelons un th´eo- r`eme sur l’existence et l’unicit´e de la solution (pour une d´emonstration, voir le cours d’Analyse II).

Th´eor`eme 1.4 Soit une fonction continˆument diff´erentiable dans un voisinage de „ . Alors, il existe…‡† 8 tel que le probl`eme ˆ , ! poss`ede exactement une solution sur l’intervalle 0 … #4 … .

III.2 M´ethodes de Runge-Kutta

Pour calculer une approximation de la solution de

)d

!

(2.1)

sur l’intervalle M„#‰N, on proc`ede comme suit: on subdiviseM„#‰N en sous-intervalles d’extr´emit´es

OŠB‹ŠI ŠBŒ

‰

, on d´enote ƒ Ž  0 et on calcule l’approximation‘’ par une formule de type



4 ƒ

ƒ

n

(2.2)

Une telle formule s’appelle “m´ethode `a un pas”, car le calcul de utilise uniquement les valeurs

ƒ



et nonƒ p U# p p .

M´ethode d’Euler (1768). La m´ethode la plus simple est

!

@4

ƒ

1

−1 0 1

„

U

6

76

”

V?•–—

”

V˜•–™

(pour simplifier la notation nous consid´erons uniquement le premier pas (š 8 dans (2.2)) et nous notons ƒ

ƒ ). Elle est obtenue en remplac¸ant la solution par sa tangente au point „ . Le dessin `a droite montre la solution num´erique pour le probl`eme

6 4 6

0ŽD

P7d0ŽD ie

et pour ƒ ›DK e , ƒ œD K7: , etc. On peut observer la con- vergence vers une fonction qui, comme on verra dans le paragraphe III.3, est la solution du probl`eme.

(5)

Pour la d´erivation d’autres m´ethodes num´eriques, int´egrons (2.1) de `a@4 ƒ

4

ƒ

@4 Wž

Ÿ

ž

¡   

£¢

 £ (2.3)

Si l’on remplace l’int´egrale de (2.3) parƒ „ , on obtient la m´ethode d’Euler. L’id´ee ´evidente est d’approcher cette int´egrale par une formule de quadrature ayant un ordre plus ´elev´e.

M´ethode de Runge (1895). On prend la formule du point milieu

4

ƒ

4

ƒ

@4o¤

¥ @4o¤

¥

1 1

¦

6 ¦ 6

et on remplace la valeur inconnue @4 ƒ K§H par la m´ethode d’Euler. Ceci nous donne

4

ƒ

¨4©¤

¥ @4©¤

¥

M´ethode de Heun (1900). On prend une formule de quadrature d’ordreL

4

ƒ

4o¤

ª

4

L

¡¨4

¥ ¤

« 4

¥ ¤

«

(2.4)

et on remplace la valeur inconnue 4 H ƒ K7L par l’approximation de la m´ethode de Runge. Ceci nous donne

4o¤

ª

4

L

@4

¥ ¤

« 4

¥ ¤

«

@4©¤

« 4o¤

«

(2.5) En g´en´eralisant cette id´ee `a une formule de quadrature plus g´en´erale et en introduisant la no- tation ¦ r ¬ ­ pour les expressions de qui apparaissent, on est conduit `a la d´efinition suivante (Kutta 1901).

D´efinition 2.1 Une m´ethode de Runge-Kutta `a® ´etages est donn´ee par

¦

¦

4±°

6 ƒ 4

ƒ)² 6 ¦

¦

@4±°

< ƒ 4

ƒ ² < ¦ f4

²

<C6

¦

6#

¦„³

@4±°

³ ƒ 4

ƒ ² ³ ¦

54± §4

²

³U´³ p

¦„³

p

4

ƒ A ¦

f4±§4

A

³¦„³

(2.6)

o`u° r ² r

t A t

sont des coefficients. On la repr´esente `a l’aide du sch´ema

° r ² rt

A r

Exemples. Les m´ethoded d’Euler, de Runge et de Heun sont donn´ees par les tableaux suivants:

8 D 8

D K7H D K7H

8 D 8

D K§L D K7L

HK§L

8

HK7L

D K

e 8

LK

e

Par la suite nous supposerons toujours que les° r satisfont

°

8 ° r rp

tUv

² rt | dH

®

(2.7) Ceci signifie que ¦ r µ ‹4¶° r ƒ ·4¶° r ƒ # 4¶¸¹ ƒ

6

. Nous ´etendons maintenant la notion de l’ordre (voir la D´efinition I.1.2 pour les formules de quadrature) aux m´ethodes de Runge-Kutta.

(6)

D´efinition 2.2 On dit que la m´ethode (2.6) a l’ordre º si, pour chaque probl`eme » ,

(avec ˆ suffisamment diff´erentiable), l’erreur apr`es un pas satisfait

0j 4

ƒ

¸¹

ƒn¼



pour ƒ

.

8 (2.8)

La diff´erence (2.8) s’appelle erreur locale de la m´ethode.

La m´ethode d’Euler est une m´ethode d’ordreº µD , car

4

ƒ

@4

ƒ

4¸F

ƒ 6

! 4

ƒ

„

4±¸¹

ƒ 6

!

f4¸F

ƒ 6

La m´ethode de Runge est bas´ee sur la formule du point milieu qui est une formule de quadrature d’ordreH :

4

ƒ

!

¨4

ƒ

¨4 ¤¥ ½¨4 ¤¥

4¸F

ƒ <

En remplac¸ant ‹4 ƒ K7H7 par la valeur ·4Iƒ K§HU de la m´ethode d’Euler, on ajoute un terme d’erreur qui est de¸Fƒ

<

grˆace au facteur ƒ devant . Ainsi, cette m´ethode a l’ordreº dH . De la mˆeme mani`ere on voit que la m´ethode de Heun a l’ordreº ,L .

Pour construire des m´ethodes d’ordre plus ´elev´e, il faut d´evelopper la solution exacte f4 ƒ et la solution num´erique ¾ ƒ en s´erie de Taylor autour de ƒ 8 . Une comparaison des coefficients de ƒ

r

pour | D º donne des conditions pour les param`etres ² r

t

et A r. L’id´ee est simple, mais l’ex´ecution de ce plan est loin d’ˆetre triviale (: conditions pour l’ordre º e ,

H

88 pourº o: et DH 8 P pourº ¿D 8 ). Mais c’est de cette mani`ere que Kutta (1901) a trouv´e des m´ethodes d’ordree . Les plus c´el`ebres sont donn´ees dans le tableau III.1. Celle de gauche est bas´ee sur la formule de Simpson, l’autre sur la formule de quadrature de Newton.

TAB. III.1: M´ethodes de Kutta (1901)

8

D K§H D K7H

D K§H

8

D K7H

D 8 8 D

D K



HK



HK



D K



“La” m´ethode de Runge-Kutta

8

D K7L D K7L

HK7L 0ÀD K§L D

D D 0ÀD D

D K7: LK7: LK7: DK7:

r`egle 3/8

Les m´ethodes de Runge-Kutta, qui sont actuellement les plus utilis´ees, ont ´et´e construites au- tour de 1980 par Dormand et Prince (Angleterre). Pour des m´ethodes d’ordreº P avec ®  et d’ordreº o: avec ® ¿DH , des programmes informatiques DOPRI5 et DOP853 sont disponibles sur la page internetŠ http://www.unige.ch/Á hairer† .

Exp´erience num´erique. Consid´erons les cinq m´ethodes vues jusqu’`a maintenant (Euler, Runge, Heun et les deux m´ethodes du tableau III.1 de Kutta) et comparons leurs performances pour le probl`eme (´equation Van der Pol)

!76

98

,H i88

:  DÂ:

 8

e : e

L)DL

 P 8 Â e78

D::

6

D0j

6 96@0-

6 98

8 (2.9)

La valeur initiale est choisie pour que la solution soit p´eriodique de p´eriode

‰ 



LH7:



:PÂ7LHL)DL

8

D:Â



ÂÂ



:H 8 L 8 P

Nous subdivisons l’intervalle M8‰2N enš parties ´equidistantes et appliquons š fois la m´ethode.

L’erreur `a la fin de l’intervalle est alors dessin´ee en fonction du travail (nombre total d’´evaluations de ) dans la figure III.4.

(7)

102 103 104 10−9

10−6 10−3

102 103 104

10−9 10−6 10−3

erreur pour

fe Euler

Runge Heun RK4

erreur pour6

fe Euler Runge

Heun RK4

RK classique (tableau III.1, `a gauche) r`egle 3/8 de Kutta (tableau III.1, `a droite) FIG. III.4: Erreur globale en fonction du travail num´erique

Comme dans la fig. I.4 (int´egration num´erique), on peut constater que ÄiÅÆ err d´epend lin´e- airement deÄiÅÆ fe et que cette droite est de pente0 º , o`uº est l’ordre de la m´ethode. Il est donc important d’utiliser des m´ethodes d’ordre ´elev´e.

III.3 Convergence des m´ethodes de Runge-Kutta

Dans la figure III.4, on a constat´e que pour un calcul avec des pas constants, l’erreur globale se comporte comme ÄÇÅ7Æ errȐ

b 0 º k

ÄiÅÆ

fe , ce qui est ´equivalent `a err 

b

fe p ¼ 

b 6

ƒn¼ . Ceci montre que la solution num´erique converge vers la solution exacte si ƒ

. 8

. Dans ce paragraphe, nous allons d´emontrer ce r´esultat.

Nous appliquons une m´ethode `a un pas

? 4 ƒ

ƒ

n (3.1)

`a une ´equation diff´erentielle ˆ , , et nous cherchons `a estimer l’erreur globale

^0j .

Th´eor`eme 3.1 Soit la solution de , ˆ, sur M#‰N. Supposons que a) l’erreur locale satisfasse pour z M#‰N etƒ"ɃÊfËCÌ

y

Í4

ƒ

Í0-

^0

ƒ “

ƒ y É b k ƒ ¼ 

(3.2) b) la fonction“ ƒ satisfasse une condition de Lipschitz

y “

ƒ

50±“

Î

ƒ y ÉdÏ

k y /0

Î y

(3.3)

pourƒ"ɃÊfËCÌ et Î dans un voisinage de la solution.

Alors, l’erreur globale admet pour É ‰ l’estimation

y

^0-

y

ÉEƒ3¼

k bÏ k ÐUÑÒ

WÓ p  žÔ

0ED (3.4)

o`u ƒ dÕÈÖ× r ƒ r, sous la condition queƒ soit suffisamment petit.

(8)

6 <

kkk

Ø

‰

solution exacte

m´ethode de Runge-Kutta

Ù Ù 6

.. .

Ù p

Ù

ØdÐZ

Ð

ÐU6

ÐZ

p

76

<

FIG. III.5: Estimation de l’erreur globale

D´emonstration. L’id´ee est d’´etudier l’influence de l’erreur locale, commise au | `eme pas, sur l’approximation . Ensuite, on va additionner les erreurs accumul´ees.

Propagation de l’erreur. Soient Ú et Ú Î deux solutions num´eriques obtenues par (3.1) avec pour valeurs initiales et ÎU , respectivement. En utilisant la condition de Lipschitz (3.3), leur diff´erence peut ˆetre estim´ee comme

y

 0 Î

y É y

Ü0

Î y 4 ƒ Ï y

Ý0

Î y D 4 ƒ Ï y

Ý0

Î y É Ð Ÿ Ó Ñ y

¯0 Î y

(3.5) R´ecursivement, on obtient alors

y

Ý0

Î y É Ð Ÿ

ÓßÞ7à ÑÈkÐ

Ÿ

Óބá ÑÈk

Ÿâ

Ñ y r 0 Î r y dÐUÑ)Ò

WÓ

p âÔ y r 0 Î r y

et l’erreur propag´eeÙ r (voir la figure III.5) satisfait

y Ù r y É

ÐUÑ)Ò

Ó p âÔ y Ð r y É b ƒ ¼  rp ÐUÑ)Ò

Ó p  âÔ

(3.6) Accumulation des erreurs propag´ees. L’in´egalit´e du triangle et l’estimation (3.6) nous donnent

y

n^0-

y É

rv y Ù r y É b rv ƒ ¼ 

r p ÐUÑ)Ò

 Ó p  âÔ

É b

ƒ3¼ ƒ ÐUÑÒ

 Ó p à Ô

4± 74

ƒ p 6ÐUÑ)Ò

 Ó pãä

Þ7àÔ 4 ƒ p

>

6

kkk

p

Ð

Ñ)Ò

 Ó p  Ô

É b

ƒ3¼

 Ó

Wž

ÐUÑ)Ò

Ó

Ô ¢   b

ƒn¼

D

0 Ï ÐUÑ)Ò

Ó

Ô

WÓ

ž

b

ƒn¼

Ï

ÐUÑ)Ò

 Ó p žÔ 0ED

Cette estimation montre que, pour ƒ suffisamment petit, la solution num´erique ne sort pas du voisinage o`u“ satisfait `a une condition de Lipschitz. Ceci justifie les estimations dans (3.5).

Supposons maintenant que (3.1) repr´esente une m´ethode de Runge-Kutta et v´erifions les hy- poth`eses du th´eor`eme pr´ec´edent. La condition (3.2) est satisfaite pour une m´ethode d’ordreº (par d´efinition de l’ordre). Il reste `a v´erifier la condition de Lipschitz (3.3) pour la fonction

“ ƒ

³

rv A r ¦ r

(3.7)

o`u

¦ r

ˆd æ4±°

r ƒ 4 ƒ rp

tUv

² rt ¦ t

ˆ# .

(9)

Lemme 3.2 Si ˆ satisfait une condition de Lipschitz

y

Í0>

Î

y

ɬç

y

Ž0 Î y

dans un voisinage de la solution de , l’expression“ ƒ de (3.7) v´erifie (3.3) avec

Ï ç r èA r è

4

ƒÊfËCÌéç

r ´t èA r ² rt è 4

ƒnʈËÇç

6 r ´t ´ê èA r ² rt ² t ê è

(3.8) D´emonstration. La condition de Lipschitz pour appliqu´ee `a ¦ r ˆ50 ¦ r ­Î nous donne

y ¦

50

¦

­Î

y y

50B Î

y

Éç

y

È0 Î y

y ¦ 6

50

¦ 6

­Î

y

Éç

y

/0 Î;4

ƒ)²

6

¦

ˆf0

¦

­Î

#

y

Éç D 4

ƒÊfËCÌ7ç

è² 6 è y

Ø0 Î y

etc. Ces estimations ins´er´ees dans

y “ ƒ

^0“

Î7

ƒ y É ³

rv èA r è k y ¦ r 50

¦ r

y

impliquent (3.3) avecÏ donn´e par (3.8).

III.4 Un programme `a pas variables

Pour r´esoudre un probl`eme r´ealiste, un calcul `a pas constants est en g´en´eral inefficace. Mais com- ment choisir la division? L’id´ee est de choisir les pas afin que l’erreur locale soit partout environ

´egale `a Tol (fourni par l’utilisateur). A cette fin, il faut connaˆıtre une estimation de l’erreur locale.

Inspir´e par le programme TEGRAL pour l’int´egration num´erique (voir le paragraphe I.6), nous construisons une deuxi`eme m´ethode de Runge-Kutta avec comme approximation num´erique, et nous utilisons la diff´erence 0j comme estimation de l’erreur locale du moins bon r´esultat.

M´ethode emboˆıt´ee. Soit donn´ee une m´ethode d’ordre º `a ® ´etages (coefficients ° r ² r

t A t

). On cherche une approximation d’ordreº Š º qui utilise les mˆemes ´evaluations de , c.-`a-d.,

4

ƒ A ¦

f4±§4

A

³¦„³

o`u les

¦ r

sont donn´es par la m´ethode (2.6). Pour avoir plus de libert´e, on ajoute souvent un terme avec ëì , qu’il faut en tous cas calculer pour le pas suivant, et on cherche de la forme

4

ƒ A ¦

f474

A

³¦„³

4 A ³ 

ëìU

(4.1) Exemple. Pour la m´ethode de Runge, bas´ee sur la r`egle du point milieu, on peut prendre la m´ethode d’Euler comme m´ethode emboˆit´ee. L’expression err ƒ

¦

60

¦

est donc une approxi- mation de l’erreur locale (pour la m´ethode d’Euler).

Pour une m´ethode g´en´erale, il faut d´evelopper les¦ r et ëì# en s´erie de Taylor et comparer avec la solution exacte. Comme les ° r et les ² r

t

sont d´ej`a connus, on obtient un syst`eme lin´eaire pour leA r.

En faisant ce calcul pour la m´ethode “r`egle LK7: ” (ordreº e , tableau III.1), les coefficients d’une m´ethode emboˆıt´ee avecº dL sont

A ,A

0 í

¥ ª

AC6ÝdAC6 4 í

î

AC<Ý,A<¨0¬í

î A ]

A

]

0Gí

î

ACïÝðí

ñ

(4.2) et avec° µD on obtient donc

err ¥¤ª 0 ¦ ^4 L ¦ 6@0±L ¦ <¨0!L ¦ ]@4!e ëìU (4.3)

comme estimation de l’erreur locale.

(10)

Calcul du ò “optimal”. Si l’on applique la m´ethode avec une certaine valeurƒ , l’estimation de l’erreur satisfait (º Š º )

0

0j 4

ƒ

#

4 4

ƒ

^0

¸¹

ƒn¼



4±¸¹

ƒ ¼ 



b k ƒ ¼ 

(4.4) Leƒ “optimal”, not´e parƒ opt, est celui o`u cette estimation est proche de Tol:

Tol 

b k ƒ ¼ 

opt

(4.5)

En ´eliminant

b

de (4.4) et de (4.5), on obtient

ƒ opt

8

Â;k

ƒ k ¼ 

Tol

y 0 y

(4.6) Le facteur 8 est ajout´e pour rendre le programme plus sˆur. En g´en´eral on supose en plus une restriction du type8H ƒÀÉEƒ opt É P ƒ pour ´eviter des grandes variations dansƒ .

Pour la norme dans (4.6) on utilise en g´en´eral

y 0 y D

š

rv r 0 r

scr

6

o`u scr hD 4 ՑÖ×

è r è è r è

(4.7) ( r r r est la | `eme composante de , respectivement). Ceci repr´esente un m´elange entre erreur relative et erreur absolue.

5 10 15

1 2 3 4

5 10 15

10−1 100

10−6 10−5 10−4 10−3

solutions

76

accepted step sizes

rejected step sizes

initialƒ

local error estimate exact local error global error

FIG. III.6: S´election du pas, TolV?•ó p

]

, 96 pas accept´esô 32 pas rejet´es

(11)

Algorithme pour la s´election automatique du pas. Au d´ebut, l’utilisateur fournit un sous- programme qui calcule la valeur de ˆ, les valeurs initiales„ et un premier choix de ƒ .

A) Avecƒ , calculer , err

y 0 y

etƒ optde (4.6).

B) If err É Tol (le pas est accept´e) then

@4

ƒ

ƒ

&ÇdÕÈõiö ƒ opt

#

end

0

else (le pas est rejet´e)

ƒ

&i

ƒ opt end if

C) Si endon a termin´e, sinon on recommence en (A) et on calcule le pas suivant.

Exemple num´erique. Cet algorithme a ´et´e programm´e (en utilisant la “r`egleLK§: ” et l’estimation de l’erreur (4.3)) et il a ´et´e appliqu´e au probl`eme (une r´eaction chimique, le “Brusselator”)

µD

4 6 6@0

e g8

µD P

6

dL

0j

6

C6 6

g8

dL

(4.8) sur l’intervalle M8 H 8N. Les r´esultats obtenus avec TolµD 8np

]

sont pr´esent´es dans la figure III.6 : i) en haut, les deux composantes de la solution avec tous les pas accept´es;

ii) au milieu les pas; les pas accept´es ´etant reli´es, les pas rejet´es ´etant indiqu´es par + ;

iii) les dessin du bas montre l’estimation de l’erreur locale err, ainsi que les valeurs exactes de l’erreur locale et de l’erreur globale.

III.5 M´ethodes multipas (multistep methods)

D´ej`a longtemps avant la parution des premi`eres m´ethodes de Runge-Kutta, J.C. Adams a r´esolu num´eriquement des ´equations diff´erentielles (1855, publi´e dans un livre de Bashforth 1883). Son id´ee ´etait d’utiliser l’information de plusieurs pas pr´ec´edents (en particulier p p

ê 

) pour obtenir une approximation pr´ecise de . C’est la raison pour laquelle ces m´ethodes s’appellent aujourd’hui m´ethodes multipas (contrairement aux m´ethodes `a un pas).

M´ethodes d’Adams explicites. Soit donn´ee une division ˜Š OŠ› Š› de l’intervalle sur lequel on cherche `a r´esoudre l’´equation diff´erentielle ÷ ˆ et supposons qu’on connaisse des approximations p  p ê  de la solution pour ¦ pas cons´ecutifs (

t

ø t

). Comme pour la d´erivation des m´ethodes de Runge-Kutta, on int`egre l’´equation diff´erentielle pour obtenir

4  ÓUùà

WÓ

   

¢

  (5.1)

Mais, au lieu d’appliquer une formule de quadrature standard `a l’int´egrale de (5.1), on remplace

par le polyn ˆomeº de degr´e

¦

0D qui satisfait (on utilise l’abr´eviation

t

d

t t

)

º

t

d

t

pour

ú š š

0ED

š 0 ¦ 4 D p ê 

kkk

p



p ê  p º

L’approximation de  est alors d´efinie par

?

4 Óùà

WÓ

º

 

 £ (5.2)

(12)

Si l’on repr´esente le polyn ˆomeº par la formule de Newton (voir le paragraphe II.1)

º

@ ê p

tUv

t p

r v 0 p r

t M

#

p

##

p t N

(5.3) la m´ethode (5.2) devient



? 4 ê p

tUv

ÓUùà

Ó t p

r v 0 p r

t M



p

#

p t

N (5.4)

Cas ´equidistant. Dans la situation

t

¨4

ú ƒ les diff´erences divis´ees peuvent ˆetre ´ecrites sous la forme

û t M

#

p

##

p t N ýü

t

ú3þ

ƒ t

(5.5) o`u

ü

Ø ,

ü

ØÜ0B

p

,

ü 6 Ø

ü ü

3Ü0±H

p

f4

p 6

sont les diff´erences finies r´egressives (`a distinguer des diff´erences finies progressivesÿ Ào 0> ). La formule (5.4) devient alors (poser 4 ®„ƒ )



4 ƒ ê p

tUv

t ü t

(5.6)

o`u

t D

úþ

t p

rv | 4 ®

®

® 4 ú

0ED

ú ¢ ®

(5.7) Les premiers coefficients

t

sont donn´es dans le tableau III.2.

TAB. III.2:Coefficients pour les m´ethodes d’Adams explicites

ú 8 D H L e P  Ã :

t D

¥

¥ «î

¥

¥

¥îî

î

ñ ª î

¥

¥î

«ñ¥îî

Des cas particuliers sont:

¦

hDJ& 

!

4 ƒ (m´ethode d’Euler)

¦

,H& 

!

4 ƒ «¥

Ü0

¥

p

¦

,L& 

! 4 ƒ

¥«

¥

Ü0 ñ

¥ p

54

¥ p 6

¦ e & 

! 4 ƒ

¥ ª Ü0

¥ ª p 54

«

¥ ª p 6¨0

¥ ª p <

Si l’on veut appliquer cette m´ethode (par exemple avec ¦ ›L ) `a la r´esolution de ,

;,

, il faut connaˆıtre trois approximations initiales et6 . Ensuite, on peut utiliser la formule r´ecursivement pour calculer< ] , etc. Adams a calcul´e la s´erie de Taylor de la solution exacte (autour de la valeur initiale) pour d´eterminer les approximations initiales qui manquent.

Evidemment, on peut aussi les obtenir par une m´ethode `a un pas.

Remarque. Dans la construction de la m´ethode (5.4), on a utilis´e le polyn ˆome d’interpolationº en-dehors de l’intervalle M p ê  # N. On sait bien (voir le chapitre II) que ceci peut provoquer de grandes erreurs. La modification suivante est aussi due `a J.C. Adams (1855).

Références

Documents relatifs

degr´e 1 pour la m´ethode des trap`ezes utilise donc une interpolation affinede la fonction aux deux extr´emit´es de l’intervalle. degr´e 2 pour la m´ethode

– M´ ethode d’Euler ; Sch´ emas ` a un pas explicites ou implicites ; M´ ethode de Runge- Kutta ; Consistance et stabilit´ e d’un sch´ ema, ordre d’un sch´ ema, erreur ;

En pratique, l’Analyse Num´ erique se propose d’´ etudier les propri´ et´ es math´ ematiques des algorithmes et leur mise en oeuvre (programmation).... Ainsi le r´ esultat

On n’a en r` egle g´ en´ erale pas acc` es ` a la fonction F qui relie ce param` etre ` a la valeur mesur´ ee, mais il peut ˆ etre int´ eressant de pouvoir pr´ edire une

En d´eduire que pour tout entier n la valeur approch´ee obtenue par la m´ethode des trap`ezes est sup´erieure ou ´egale `a ln(2) (on pourra commencer par faire un dessin), puis que

Note finale: les 10 premiers points comptent en totalit´e, les suivants pour moiti´e.. Par exemple, pour un total de 16 sur 30, la note sera 10 + 6/2 = 13

Faire un programme qui calcule l’int´egrale d’une fonction donn´ee `a l’aide de la m´ethode des rectangles, des trap`ezes, de Simpson et de Gauss `a deux points. Tracer le

Faire un programme qui calcule l’int´egrale d’une fonction donn´ee `a l’aide de la m´ethode des rectangles, des trap`ezes, de Simpson et de Gauss `a deux points.. Tracer