13
Agr´ egation Externe de Math´ ematiques Universit´ e Paris-Sud 11 ´ Epreuve de Mod´ elisation Option calcul scientifique esolution num´ erique des ´ equations diff´ erentielles ordinaires 1 Introduction ` a la discr´ etisation des E.D.O. 1 1.1 Quelques exemples d’E.D.O.............. 1 1.2 ethodes d’Euler (explicite, semi-implicite, implicite) 3 2 Analyse num´ erique des m´ ethodes ` a un pas 5 2.1 efinitions (convergence, stabilit´ e, consistance, ordre) 7 2.2 Principaux r´ esultats d’analyse num´ erique ..... 8 3 ethodes de Runge-Kutta 10 3.1 Principe g´ en´ eral des m´ ethodes de Runge-Kutta . . 10 3.2 ethodes de Runge-Kutta usuelles ......... 12 1 Introduction ` a la discr´ etisation des E.D.O. 1.1 Quelques exemples d’E.D.O. Un grand nombre de probl` emes qui seront vus en th´ eorie du contrˆ ole s’´ ecrivent sous la forme d’´ evolution d’un certain nombre de quantit´ es en fonction du temps. Ces probl` emes s’´ ecrivent comme une E.D.O. eventuellement d´ ependant d’un ou plusieurs param` etres, les contrˆ oles), et d´ ecrivant l’´ evolution d’une ou plusieurs quantit´ es. Ces ´ equations peuvent ˆ etre du 1 er , du 2 nd ... ou du n ` eme ordre, lin´ eaires ou pas... Exemple (Voiture en mouvement) On consid` ere une voiture se d´ epla¸cant sur un axe Ox et dont on peut contrˆ oler l’acc´ el´ eration u (si u> 0 la voiture acc´ el` ere et si u< 0 la voiture d´ ec´ el` ere). L’´ equation d’´ evolution de la position x de la voiture est donc d 2 x dt 2 (t)= x”(t)= u(t). C’est une ´ equation du 2 nd ordre en temps d´ ependant du contrˆ ole u. On peut toujours ´ ecrire une ´ equation du 2 nd ordre sous forme d’une E.D.O. du 1 er ordre, en doublant le nombre d’inconnues x 0 (t)= y(t) y 0 (t)= u(t) x(t) y(t) 0 = y(t) u(t) . Exemple (Trajectoire (x, y, z) d’une particule de masse m dans un champ de potentiel) m xyz = -∇V (x, y, z) 1 c S. Martin

Résolution Des EDO

Embed Size (px)

DESCRIPTION

sf

Citation preview

  • Agregation Externe de MathematiquesUniversite Paris-Sud 11

    Epreuve de ModelisationOption calcul scientifique

    Resolution numerique des equationsdifferentielles ordinaires

    1 Introduction a` la discretisation des E.D.O. 11.1 Quelques exemples dE.D.O. . . . . . . . . . . . . . 11.2 Methodes dEuler (explicite, semi-implicite, implicite) 3

    2 Analyse numerique des methodes a` un pas 52.1 Definitions (convergence, stabilite, consistance, ordre) 72.2 Principaux resultats danalyse numerique . . . . . 8

    3 Methodes de Runge-Kutta 103.1 Principe general des methodes de Runge-Kutta . . 103.2 Methodes de Runge-Kutta usuelles . . . . . . . . . 12

    1 Introduction a` la discretisation des E.D.O.

    1.1 Quelques exemples dE.D.O.

    Un grand nombre de proble`mes qui seront vus en theorie du controle secrivent sous la forme devolutiondun certain nombre de quantites en fonction du temps. Ces proble`mes secrivent comme une E.D.O.(eventuellement dependant dun ou plusieurs parame`tres, les controles), et decrivant levolution dune ouplusieurs quantites. Ces equations peuvent etre du 1er, du 2nd... ou du ne`me ordre, lineaires ou pas...

    Exemple (Voiture en mouvement) On conside`re une voiture se deplacant sur un axe Ox et dont onpeut controler lacceleration u (si u > 0 la voiture accele`re et si u < 0 la voiture decele`re). Lequationdevolution de la position x de la voiture est donc

    d2xdt2

    (t) = x(t) = u(t).

    Cest une equation du 2nd ordre en temps dependant du controle u. On peut toujours ecrire une equationdu 2nd ordre sous forme dune E.D.O. du 1er ordre, en doublant le nombre dinconnues

    x(t) = y(t)y(t) = u(t)

    (x(t)y(t)

    )=(y(t)u(t)

    ).

    Exemple (Trajectoire (x, y, z) dune particule de masse m dans un champ de potentiel)

    m

    xyz

    = V(x, y, z)

    1 c S. Martin

  • Agregation Externe de MathematiquesUniversite Paris-Sud 11

    Epreuve de ModelisationOption calcul scientifique

    qui devient du 1er ordre en ecrivant

    x = vxVx

    (x, y, z)

    y = vyVx

    (x, y, z)

    z = vzVx

    (x, y, z)

    mvx = Vx

    (x, y, z)

    mvy = Vy

    (x, y, z)

    mvz = Vz

    (x, y, z)

    cest-a`-dire en doublant le nombre dequations...

    On pourrait imaginer un controle qui alte`re la trajectoire (champ electrique, magnetique, etc...).

    Exemple (Objet en chute libre) Un asterode sapproche de la terre en ligne droite. Il subit la forcedattraction gravitationnelle g ainsi que la force de frottement de lair, qui varie avec laltitude z commeFf = k v2 eaz, v etant la vitesse de lobjet, k et a des coefficients de frottement. Dapre`s le principefondamental de la dynamique, lE.D.O. qui regit le mouvement de lastre est

    z = g + k v2 eaz = g + k (z)2 eaz

    que lon peut ecrire sous forme dequations du premier ordre :{z = vv = g + k v2 eaz

    Exemple (Evolution epidemiologique) La prediction en epidemiologie constitue un proble`me majeur enmodelisation. Le premier mode`le dynamique (simpliste et irrealiste dans la plupart des cas !) est du a`Hamer en 1906. Soit n le nombre total dindividus, x le nombre dindividus sains (susceptibles detreinfectes) et y le nombre dindividus infectes. Soit le taux dinfection. Le mode`le secrit{

    y = xyx = xy

    Or x+ y = n, ce qui permet detudier levolution du nombre de personnes infectees :

    y = y (n y).Determiner le nombre de personnes infectees a` un instant t > 0, avec la donnee initiale y(t0) = y0.

    La theorie des E.D.O. est assez riche et le comportement des solutions tre`s varie (points fixes, attractifs,repulsifs, attracteurs, points cols, trajectoire periodique, etc...). On souhaite resoudre des E.D.O. du 1er

    ordre a` N variables et decrire des methodes numeriques permettant de le faire. On tachera dans ce coursdetudier certaines proprietes de ces methodes dans la plupart des cas :4 la convergence ; cest la premie`re qualite requise pour un schema numerique, assurant que la solution

    numerique est proche de la solution exacte, selon des crite`res etablis,Montrer que si un schema eststable et consistant, alors il est convergent.

    4 la precision ; cest la propriete qui etablit le controle de lerreur entre la solution numerique et la solutionexacte,

    4 la complexite de la mise en oeuvre ; lenjeu est de mettre en oeuvre des methodes numeriques quipeuvent etre implementees avec le moins de difficultes possibles,

    4 la robustesse ; on sinteresse a` des methodes qui ne sont pas specifiques a` un unique proble`me donne,mais a` des classes de proble`mes generiques.

    De nombreux ouvrages exposent en detail les methodes qui sont abordees dans ces notes de cours. Signalonsen particulier ceux de Crouzeix et Mignot [1], Demailly [2] et Schatzman [3].

    2 c S. Martin

  • Agregation Externe de MathematiquesUniversite Paris-Sud 11

    Epreuve de ModelisationOption calcul scientifique

    1.2 Methodes dEuler (explicite, semi-implicite, implicite)

    Soit T > 0, N N et f : R+ RN RN une fonction regulie`re. On conside`re le proble`me dinconnueu : R+ RN pose par une equation differentielle ordinaire (E.D.O.) de la forme{ du

    dt(t) = f(t, u) t (0, T )

    u(0) = u0.

    On suppose que f verifie les hypothe`ses de Cauchy-Lipschitz : f est continue sur [0, T ] RN etL > 0, t [0, T ], (v, w) RN RN , |f(t, c) f(t, w)| 6 L |v w|.

    On cherche une methode numerique qui permet de construire une solution numerique proche (en unsens a` preciser) de la solution exacte (si une telle solution existe !). La strategie consiste a` decouper unintervalle de temps [0, T ] en intervalles de temps elementaires [tn, tn+1], avec tn = nh, et a` considererque sur chaque petit intervalle du/dt est a` peu pre`s constant. Cette approximation est valable pour tousles schemas numeriques envisages. En revanche, levaluation du terme f(t, u) sur lintervalle de temps[tn, tn+1] fait apparatre de nombreuses possibilites, dont certaines sont discutees ci-apre`s :

    Schema dEuler explicite. Cest une methode basee sur une evaluation directe et explicite (la plussimple) de f(t, u). Elle consiste a` chercher une approximation Un de u(tn) definie par :

    Un+1 Unh

    = f(tn, Un). (1.1)

    Un deuxie`me point de vue sur la methode dEuler explicite consiste a` integrer lequation (1.1) sur [tn, tn+1[,on obtient

    u(tn+1) u(tn) = tn+1tn

    f(s, u(s)) ds

    et la methode dEuler explicite consiste donc a` evaluer le terme integral par tn+1tn

    f(s, u(s)) ds h f(tn, u(tn)).

    La methode dEuler explicite peut etre implementee de facon simple : cest une methode directe dontchaque etape ne necessite que levaluation de la fonction f . Neanmoins, comme le montre lexemplesuivant, cette methode peut etre imprecise et ne pas preserver certaines proprietes fondamentales de lasolution exacte :

    Exemple (Schema dEuler et trajectoire circulaire (1/2)) Considerons le syste`me dE.D.O. : x = y,y = x. Le calcul suivant

    ddt(x2 + y2

    )= 2xx + 2yy = 2xy + 2xy = 0 x2 + y2 = Cte.

    etablit que les trajectoires sont des cercles. Or, numeriquement, le schema dEuler explicite secritxn+1 xn

    h= yn

    yn+1 ynh

    = xn

    {xn+1 = xn hynyn+1 = yn + hxn

    (xn+1)2 + (yn+1)

    2 = (1 + h2)(

    (xn)2 + (yn)

    2).

    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, lamethode dEuler explicite ne permet pas, dans ce cas, de capter une propriete fondamentale de la solutionexacte. Cest ce qui peut motiver letude dautres schemas...

    3 c S. Martin

  • Agregation Externe de MathematiquesUniversite Paris-Sud 11

    Epreuve de ModelisationOption calcul scientifique

    Euler explicite, h=2pi/20Euler explicite, h=2pi/40Demipoint, h=2pi/20

    Fig. 1 Solution numerique du syste`me x = y, y = x pour la C.I. (1, 0) avec les methodes dEulerexplicite et du demi-point.

    Schema dEuler semi-explicite (ou demi-point). Pour levaluation du terme integral ci-dessus, onpourrait faire un choix probablement plus precis avec lapproximation suivante tn+1

    tn

    f(s, u(s)) ds h f(tn+ 12 , u

    (tn+ 12

    )) h

    2

    (f(tn, u(tn)) + f (tn+1, u (tn+1))

    ).

    On propose ainsi le nouveau schema

    Un+1 Unh

    =12

    (f(tn, Un) + f (tn+1, Un+1)

    )(1.2)

    appele schema semi-implicite (ou point-milieu).

    Exemple (Schema dEuler et trajectoire circulaire (2/2)) Pour le syste`me introduit precedemment x =y, y = x, le schema du point milieu secrit :

    xn+1 xnh

    = 12

    (yn + yn+1)yn+1 yn

    h=

    12

    (xn + xn+1)

    Il preserve la norme et, en consequence, les trajectoires circulaires (voir Fig.1), quelle que soit la valeurde h choisie. Par rapport au schema dEuler explicite, cest une amelioration importante. En revanche, leprix a` payer consiste, a` chaque iteration, a` resoudre un syste`me lineaire...

    4 c S. Martin

  • Agregation Externe de MathematiquesUniversite Paris-Sud 11

    Epreuve de ModelisationOption calcul scientifique

    Schema dEuler implicite. Un autre choix consiste a` approcher le terme integral par tn+1tn

    f(s, u(s)) ds h f(tn+1, u(tn+1))

    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 pluscompliquee que la methode explicite. Neanmoins, linteret que lon peut porter a` des methodes implicitesconcerne la notion de stabilite des methodes. Cette notion sera developpee dans la section suivante, maisnous en donnons un apercu a` travers lexemple suivant.

    Exemple (Sur la notion de stabilite) Soit > 0 et considerons lequation :{u = uu(0) = u0 > 0.

    Ce proble`me admet la solution u(t) = u0 e t qui satisfait :

    t > 0, u(t) > 0 et limt+u(t) = 0.

    Etudions la mise en oeuvre des methodes dEuler sur cet exemple :4 methode explicite : Un = (1 h)n U0.4 methode implicite : Un =

    1(1 + h)n

    U0.

    Il apparat alors que la methode explicite fonctionne uniquement si h est choisi de manie`re adequate :elle est stable sous la condition 0 < h < 1/ ; si cette condition nest pas satisfaite, en particulier si1 < h < 2, la solution numerique peut atteindre des valeurs negatives (voir Fig.2), ce qui na pas desens physique ! De plus, si h > 2, la solution numerique oscille entre des valeurs positives et negatives,avec une amplitude qui augmente : la solution numerique ne tend pas vers 0 lorsque t + : dans cecas encore, la solution numerique ne respecte pas une propriete fondamentale de la solution exacte ! Enrevanche, la methode implicite est inconditionnellementstableau sens ou` il nest pas necessaire de choisirun pas de temps h sous une contrainte determinee (voir Fig.3) pour que les deux proprietes mentionneessoient satisfaites par la solution numerique.

    2 Analyse numerique des methodes a` un pas

    Soit N N et f : R+ RN RN une fonction regulie`re qui verifie lhypothe`se de Cauchy-Lipschitz.On sinteresse a` lanalyse des methodes numeriques permettant de calculer la solution u : R+ RN delE.D.O.

    (P){ du

    dt(t) = f(t, u)

    u(0) = u0

    Dans toute cette partie, | | et designent les normes usuelles sur R et RN , respectivement. Soith [0, h?]. On choisit une subdivision de [0, T ]

    0 = t0 < t1 < ... < tn < ... < tNh1 < tNh = T,

    et lon pose : n {0, ..., Nh 1}, hn = tn+1 tn, h = supn

    hn.

    5 c S. Martin

  • Agregation Externe de MathematiquesUniversite Paris-Sud 11

    Epreuve de ModelisationOption calcul scientifique

    Sol. num. par Euler explicite, h=1.5Sol. exacte

    Fig. 2 Solution numerique de lequation u = u pour la C.I. u(0) = 1 avec la methode dEulerexplicite h = 1.5.

    Sol. num. par Euler explicite, h=2.15Sol. exacte

    Fig. 3 Solution numerique de lequation u = u pour la C.I. u(0) = 1 avec la methode dEulerimplicite h = 1.5.

    6 c S. Martin

  • Agregation Externe de MathematiquesUniversite Paris-Sud 11

    Epreuve de ModelisationOption calcul scientifique

    2.1 Definitions (convergence, stabilite, consistance, ordre)

    Definition 2.1 (Methode 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)

    avec : R+ RN [0, h?] RN (pour la methode dEuler explicite, (t, u;h) = f(t, u)).

    Definition 2.2 (Convergence dune methode)Lapproximation de (P) definie par le schema a` un pas (Ph) est dite convergente si, quelle que soit ladonnee initiale u0,

    limU0u0; h0

    maxn6Nh

    u(tn) Un = 0. ! ! ! Nh augmente lorsque h diminue ! ! !

    Cette definition constitue une propriete fondamentale que doit satisfaire un schema numerique : cettepropriete garantit que la solution numerique est proche de la solution continue. Par ailleurs, on nesuppose pas que le schema part de la condition initiale exacte du syste`me differentiel ; en effet, dunepart, il peut y avoir une erreur de troncature sur la valeur de la condition initiale et dautre part, lacondition initiale peut ne pas etre connue exactement, quelle soit elle-meme le resultat dun calcul, ouquelle soit obtenue par un procede dechantillonnage. De facon generale, de meme que la solution dunsyste`me differentiel est continue par rapport aux donnees initiales, la solution approchee par un schemaa` un pas doit etre continue par rapport a` une perturbation des conditions initiales. La convergence dunschema 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 syste`me differentiel, et

    qui implique que le schema secarte peu localement de la solution.

    Definition 2.3 (Erreur de discretisation, de consistance)On definit :

    4 lerreur de discretisation : en = u(tn) Un,4 lerreur de consistance : 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).

    Definition 2.4 (Stabilite)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

    maxn6Nh

    Un Vn 6MU0 V0+

    n6Nhn

    .Cela signifie que des erreurs commises a` chaque iteration se cumulent mais ne degradent pas trop lasolution.

    7 c S. Martin

  • Agregation Externe de MathematiquesUniversite Paris-Sud 11

    Epreuve de ModelisationOption calcul scientifique

    Definition 2.5 (Consistance)La methode (Ph) est consistante pour le proble`me (P) si

    Nh1n=0

    u(tn+1) u(tn) hn (tn, u(tn);hn) =Nh1n=0

    En

    tend vers 0 lorsque h tend vers 0.

    Exemple (Consistance de la methode dEuler explicite) On se place dans le cas ou` f est supposee (Lt,Lu)-lipschitzienne :

    Lt, Lu, (t1, u1), (t2, u2), f(t1, u1) f(t2, u2) 6 Lt |t1 t2|+ Luu1 u2.La generalisation sous lhypothe`se (moins restrictive) de Cauchy-Lipsschitz, est disponible dans [3] ainsique comme une application immediate du Lemme 2.7 qui sera demontre plus loin. Pour la methode dEulerexplicite, on a

    Nh1n=0

    En =Nh1n=0

    u(tn+1) u(tn) hn f(tn, u(tn))

    =Nh1n=0

    tn+1tn

    (f(t, u(t)) f(tn, u(tn))) dt

    6Nh1n=0

    tn+1tn

    (Lt |t tn|+ Lu u(t)) u(tn)

    )dt

    6Nh1n=0

    (h2n Lt + h2n Lu sup

    [t0,tNh ]

    u(t))

    6 hT(Lt + Lu sup

    [t0,tNh ]

    u(t))

    et la methode est consistante.

    Definition 2.6 (Ordre dune methode)La methode est dordre p lorsque

    Nh1n=0

    u(tn+1) u(tn) hn (tn, u(tn);hn) = O(hp), u Cp+1([0, T ]).

    (la methode dEuler est dordre 1)

    2.2 Principaux resultats danalyse numerique

    Lemme 2.7 (CNS de consistance)Une methode est consistante si et seulement si

    (t, y; 0) = f(t, y) t [0, T ], y RN

    Preuve. Posons En = y(tn+1) y(tn) hn (tn, y(tn);hn). Dapre`s la formule des accroissements finis, ilexiste 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)) , n = (cn, y(cn); 0) (tn, y(tn);hn),

    8 c S. Martin

  • Agregation Externe de MathematiquesUniversite Paris-Sud 11

    Epreuve de ModelisationOption calcul scientifique

    on obtientEn = 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, eton en deduit :

    limh0

    n

  • Agregation Externe de MathematiquesUniversite Paris-Sud 11

    Epreuve de ModelisationOption calcul scientifique

    Theore`me 2.10 (Convergence dordre p)Soit U0 = u0. Si une methode est stable et dordre p, et si f Cp([0, T ] R), alors

    maxn6Nh

    |Un u(tn) 6M hp.

    Preuve. Le resultat est une consequence des definitions de la stabilite et de lordre.

    maxn6Nh

    Un u(tn) 6MU0 u0+

    n6NhEn

    et n6Nh

    En 6 C hp.

    3 Methodes de Runge-Kutta

    Il sagit ici de trouver des methodes plus precises que la methode dEuler mais qui soient toujours desmethodes a` un pas. En particulier, on cherchera des methodes dordre p en supposant que f Cp+1([0, T ]RN ).

    3.1 Principe general des methodes de Runge-Kutta

    Une methode nave (et couteuse !). Un moyen simple pour construire une methode dordre p estdutiliser une methode de Taylor

    (t, u;h) = f(t, u) +h

    2f (1)(t, u) + ...+

    hp1

    p!f (p1)(t, u).

    Naturellement, verifie les hypothe`ses du Theore`me 2.9 et permet de construire une methode dordre p.De plus, on peut voir que cette methode est stable si, par exemple, f Cp([0, T ]RN ). Neanmoins, ellepresente un inconvenient majeur qui est la necessite dutiliser (de calculer) non pas une fonction f maisp fonctions (f (0), ..., f (p1)). En pratique, ce calcul peut etre couteux surtout si f depend de parame`tres.On cherche donc des methodes ne necessitant que levaluation de f .

    Methodes de quadrature (Runge-Kutta). Lidee est dessayer devaluer u en des temps interme-diaires grace a` des formules de quadrature. Pour cela, cherchons a` interpreter les formules introduitesprecedemment : si on reecrit le syste`me differentiel

    dudt

    = f(t, u)

    sous forme integrale entre tj et tj+1, on obtient

    u(tj+1) = u(tj) + tj+1tj

    dudt

    (s) ds.

    On peut donc obtenir une approximation de u(tj+1) u(tj) en utilisant une formule de quadrature ; si onutilise la formule des rectangles a` gauche, on aura

    u(tj+1) u(tj) ' hj dudt (tj),

    ce qui nous conduit au schema dEuler explicite. En utilisant la formule des rectangles a` droite, on a

    u(tj+1) u(tj) ' hj dudt (tj+1),

    10 c S. Martin

  • Agregation Externe de MathematiquesUniversite Paris-Sud 11

    Epreuve de ModelisationOption calcul scientifique

    ce qui nous conduit au schema dEuler implicite. Enfin, en utilisant une formule avec comme noeuds lesextremites de lintervalle, on ecrit :

    u(tj+1) u(tj) ' hj(

    dudt

    (tj) + dudt

    (tj+1)).

    Pour quune telle formule soit dordre 0 en tant que formule dintegration, il faut que + = 1. On tombedonc sur la methode ; le cas = 1/2 qui est la formule des trape`zes conduit a` la methode de Crank-Nicholson (ou point-milieu), qui est la plus precise. Pour fabriquer des schemas fondes sur des formulesdintegration, 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 1

    0

    f(t) dt 'qj=1

    bj f(cj) (3.1)

    ci0

    f(t) dt 'qj=1

    aij f(cj). (3.2)

    La formule de quadrature (3.2) diffe`re un peu des formules de quadrature classiques en ce quelle faitintervenir 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 hypothe`se. 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 + hkqj=1

    aij f(tk,j , Uk,j) (3.3)

    Uk+1 = Uk + hkqj=1

    bj f(tk,j , Uk,j) (3.4)

    Un point de vue identique mais lege`rement different dans la forme revient a` evaluer le terme integral dela manie`re suivante :

    (i) u(tn,i) = u(tn) + tn,itn

    f(s, u(s)) ds ' u(tn) + hnqj=1

    aij f(tn,j , u(tn,j)),

    (ii) u(tn+1) = u(tn) + tn+1tn

    f(s, u(s)) ds ' u(tn) + hnqj=1

    bj f(tn,j , u(tn,j)),

    et les methodes de Runge-Kutta consistent consistent alors a`4 remplacer les approximations par des egalites,4 ajuster les aij , bj de facon a` pouvoir calculer facilement et a` avoir un ordre donne.

    (i) Un,i = Un + hnqj=1

    aij f(tn,j , Un,j), i = 1, ..., q

    (ii) Un+1 = Un + hnqj=1

    bj f(tn,j , Un,j)

    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 entie`rement determine par ses coefficients que lon peut representer sousla forme dun tableau (voit Tab.1).

    On remarque que les relations (3.3) permettent de determiner les Uk,j explicitement si les aij sont nulspour j > i. Si les aij sont nuls pour j > i mais certains des aii ne le sont pas, la methode est dite semi-implicite, car on peut resoudre tour a` tour chacune des equations (3.3) par une technique de resolutiondequations non lineaires. Enfin, sil y a des couples (i, j) avec j > i pour lesquels aij nest pas nul, (3.3)forme un syste`me de Nq equations non lineaires couplees.

    11 c S. Martin

  • Agregation Externe de MathematiquesUniversite Paris-Sud 11

    Epreuve de ModelisationOption calcul scientifique

    c1 a11 a12 a1qc2 a21 a22 a2q...

    ......

    ...cq aq1 aq2 aqq

    b1 b2 bqTab. 1 Tableau des coefficients dune methode de Runge-Kutta.

    3.2 Methodes de Runge-Kutta usuelles

    Les methodes etant entie`rement determinees par le tableau de leurs coefficients, nous indiquons ici cellesqui sont le plus couramment utilisees.

    4 Methode dEuler explicite.

    0 01 1

    4 Methode du point milieu.

    0 1 01 0 1

    1 1/2 1/2

    4 Methode RK4.

    0 0 0 0 01/2 1/2 0 0 01/2 0 1/2 0 01 0 0 1 0

    1 1/6 1/3 1/3 1/6

    4 Methode dEuler implicite.

    1 11 1

    4 Methode de Heun.

    0 0 01 1 0

    1 1/2 1/2

    4 Methode -implicite.

    1 1 2

    1/2 1/2

    avec, pour la methode -implicite, =12

    +1

    2

    3.

    Par exemple, si lon sinteresse a` la methode de Heun, la construction de la solution se fait de la manie`resuivante :

    tn,1 = tn : un,1 = Un12

    tn,2 = tn + hn : Un,2 = Un + hn f(tn,1, Un,1)12

    tn+1 : Un+1 = Un + hn

    (12f(tn,1, Un,1) +

    12f(tn,2, Un,2)

    )12

    = Un + hn

    (12f(tn, Un) +

    12f (tn+1, Un + hnf(tn, Un))

    )Lexpression finale de Un+1 en fonction de Un est ici obtenue de manie`re explicite car la methode deHeun est explicite. Le calcul ne necessite que levaluation de la fonction f (a` plusieurs reprises) : enconsequence, non seulement cette methode est facile a` implementer, mais surtout elle est valable pourtoute fonction f suffisamment regulie`re. Au contraire, la methode basee sur les developpements de Taylornecessite levaluation des derivees de f ce qui, en pratique, peut se reveler couteux si f depend de plusieursparame`tres et que lon modifie ces parame`tres...

    12 c S. Martin

  • Agregation Externe de MathematiquesUniversite Paris-Sud 11

    Epreuve de ModelisationOption calcul scientifique

    Theore`me 3.1 (Ordre dune methode de RK)La methode de Runge-Kutta est4 dordre 1 si et seulement si

    j bj = 1,

    4 dordre 2 si et seulement si elle satisfait en outrej 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 manie`re suivante :

    Uj(t, u, h) = u+ hi

    ajif(t+ h ci, Ui(t, u, h))

    (t, u;h) =j

    bj f(t+ h cj , Uj(t, u, h))

    avec la propriete suivante :limh0

    Ui(t, u, h) = u.

    Or, une methode est dordre 1 si et seulement si (t, u; 0) = f(t, u). Par continuite de f , on obtient :

    (t, u; 0) =j

    bj f(t, u),

    ce qui etablit lequivalence. Par ailleurs, une methode est de plus dordre 2 si /h(t, u; 0) = (1/2) f (1)(t, u).Apre`s calculs, on obtient :

    h(t, u;h) =

    j

    bj

    (cjf

    t(t, Uj(t, u, h)) +

    f

    u(t, Uj(t, u, h))

    Ujh

    (t, u, h)),

    Ujh

    (t, u, h) =i

    ajif(t+ h ci, Ui(t, u, h)) + h

    h

    (i

    ajif(t+ h ci, Ui(t, u, h))

    ).

    Par passage a` la limite sur h (les fonctions etant regulie`res et bornees), on obtient

    h(t, u; 0) =

    j

    bj cjf

    t(t, u) +

    j

    (bji

    aji

    )f

    u(t, u) f(t, u)

    et on obtient ainsi la CNS proposee. La methode dEuler (implicite, explicite ou point milieu) est dordre 1, la methode de Heun dordre 2, lamethode -implicite dordre 3, la methode de RK classique dordre 4. On peut continuer a` deriver ainside suite des CNS et calculer les coefficients (bj), (aij), (cj) en fonction de ces conditions. Mentionnonstoutefois 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).

    References

    [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

    Introduction la discrtisation des E.D.O.Quelques exemples d'E.D.O.Mthodes d'Euler (explicite, semi-implicite, implicite)

    Analyse numrique des mthodes un pasDfinitions (convergence, stabilit, consistance, ordre)Principaux rsultats d'analyse numrique

    Mthodes de Runge-KuttaPrincipe gnral des mthodes de Runge-KuttaMthodes de Runge-Kutta usuelles