• Aucun résultat trouvé

2.3 Analyse num´erique des ´equations diff´erentielles

2.3.3 M´ethodes de Runge-Kutta

Parmi les m´ethodes num´eriques `a un pas, la plupart appartiennent `a la classe des m´ethodes de Runge-Kutta, nomm´ees ainsi `a la suite de deux articles fondateurs, l’un r´edig´e par Runge en 1895 [181], le second par Kutta en 1901 [128].

Tableau de Butcher

Sur la donn´ee du probl`eme de Cauchy d´efini par y = f(t, y) et y(t0) = y0, les m´ethodes de Runge-Kutta sont caract´eris´ees par la relation de r´ecurrence suivante :

∀n, yn+1 =yn+hΦ(tn, yn, h) =yn+h

s

i=1biki, (2.1) avec ki d´efini comme :

ki=f�tn+cih, yn+h

s

j=1aijkj�. (2.2)

Les coefficients ci, aij et bi, avec i, j = 1,2,⋯, s, ainsi que le nombre d’´etages s, ca-ract´erisent donc `a eux seuls une m´ethode de Runge-Kutta. Ainsi, une m´ethode de Runge-Kutta est g´en´eralement d´efinievia sontableau de Butcher [45, 98], qui contient la valeur des coefficients :

c1 a11 a12 . . . a1s c2 a21 a22 . . . a2s

⋮ ⋮ ⋮ ⋱ ⋮

cs as1 as2 . . . ass b1 b2 . . . bs

≡ c A

b .

La figure 2.2 pr´esente quelques exemples de tableaux de Butcher associ´es `a des m´ethodes de Runge-Kutta vari´ees.

0 0 0 0 0

Figure2.2 – Tableaux de Butcher de m´ethodes de Runge-Kutta explicites et implicites

M´ethodes explicites et implicites

Selon la forme de la matrice A contenant les coefficients aij, nous distinguons plu-sieurs sous-classes de m´ethodes de Runge-Kutta :

● Les m´ethodes explicites, comme la m´ethode d’Euler ou la m´ethode de Runge-Kutta d’ordre 4 d´efinie par la figure 2.2(a), qui sont telles que le calcul des coefficients ki d´epend uniquement des kj pr´ec´edents,i.e. tels que j<i;

● Les m´ethodesimplicites, comme la m´ethode de Runge-Kutta implicite d’ordre 4 par formule de Gauss-Legendre d´efinie par lafigure 2.2(b), sont telles que le calcul d’un coefficientki d´epend de la r´esolution d’un syst`eme d’´equations non-lin´eaires impliquant l’ensemble des coefficients kj pour j=1,2,⋯, s.

Dans la partie II de ce manuscrit, nous allons plus particuli`erement borner les erreurs d’arrondi de m´ethodes de Runge-Kutta explicites.

Ordre d’une m´ethode de Runge-Kutta

L’ordre d’une m´ethode de Runge-Kutta est l’entier p tel que l’erreur locale de m´e-thode,i.e.la distance entre la solution exactey(tn)et la solution obtenue par la m´ethode de Runge-Kuttayn est telle que

y(tn)−yn=O�hp+1�.

L’ordre d’une m´ethode de Runge-Kutta donne donc une indication de l’ordre de magnitude de l’erreur de m´ethode associ´ee `a un pas de l’int´egration num´erique. Si une m´ethode d’ordre ´elev´e assure l’obtention d’un r´esultat th´eoriquement plus pr´ecis, cela va g´en´eralement de pair avec un nombre plus important de calculs flottants pouvant conduire `a des erreurs d’arrondi plus importantes.

Pour les m´ethodes explicites d’ordre inf´erieur ou ´egal `a 4, l’ordrepest ´egal au nombre d’´etagess. En revanche, au-del`a de l’ordre 4, l’ordre d’une m´ethode explicite peut ˆetre inf´erieur au nombre d’´etages.

2.3. ANALYSE NUM´ERIQUE DES ´EQUATIONS DIFF´ERENTIELLES 34 M´ethodes de Runge-Kutta explicites classiques

Dans cette section, nous pr´esentons trois m´ethodes de Runge-Kutta explicites clas-siques, qui serviront d’exemples dans dans les chapitres 5 et 6.

● M´ethode d’Euler explicite (RK1)

La m´ethode d’Euler explicite est l’exemple le plus ancien de m´ethode num´erique de r´esolution d’´equations diff´erentielles ordinaires. L’approche remonte en effet `a des travaux d’Euler datant de 1768 [66], bien avant l’´elaboration des m´ethodes de Runge-Kutta [181, 128] dont la m´ethode d’Euler est une instance. La m´ethode d’Euler utilise l’´equation de la tangente au d´ebut du pas d’int´egration, qui lie la fonction et sa d´eriv´ee.

Le tableau de Butcher associ´e `a la m´ethode d’Euler est relativement simple (voir figure 2.3) et permet d’extraire la caract´erisation suivante :

k1 =f(tn, yn) yn+1=yn+hk1=yn+hf(tn, yn).

0 0 1

Figure2.3 – Tableau de Butcher de la m´ethode d’Euler

La m´ethode d’Euler s’av`ere assez peu pr´ecise, notamment lorsque le pas d’int´egration choisi est relativement grand. Elle est particuli`erement inadapt´ee lorsque la fonction inconnue croˆıt/d´ecroˆıt fortement au cours d’un pas d’int´egration, puisque la d´eriv´ee n’est ´evalu´ee qu’au d´ebut du pas d’int´egration.

● M´ethode du point-milieu (RK2)

Des m´ethodes plus ´elabor´ees ont ´et´e con¸cues pour pallier ce probl`eme. Un premier exemple est la m´ethode RK2, ou m´ethode du «point-milieu»car la d´eriv´ee est ´egale-ment ´evalu´ee au milieu de l’intervalle d’int´egration. Le tableau de Butcher associ´e `a la m´ethode RK2 est d´ecrit par la figure 2.4 et la relation de r´ecurrence obtenue est :

k1=hf(tn, yn), k2 =hf�tn+h

2, yn+k1 2�, yn+1=yn+k2=yn+hf�tn+h

2, yn+h

2f(tn, yn)�.

0 0 0

1 2

1 2 0 0 1

Figure2.4 – Tableau de Butcher de la m´ethode RK2

Nous remarquons que la m´ethode RK2 est une composition de la m´ethode d’Euler.

En effet, le principe de cette m´ethode est en premier lieu d’´evaluer la d´eriv´ee au milieu de l’intervalle d’int´egration de longueur h=tn+1−tn,i.e.

yn+1

2 =f�tn+h 2, yn+1

2� Pour ´evalueryn+1

2, nous utilisons la m´ethode d’Euler, i.e.: yn+1

2 =yn+ h

2f(tn, yn)

ce qui permet d’obtenir (en repartant de l’´equation diff´erentielle) : yn+ 1

2 =f�tn+h

2, yn+h

2f(tn, yn)�.

A partir de cette estimation de la valeur de la d´eriv´ee au` «point-milieu» tn+ h2, nous approchons la valeur deyn+1 de la mani`ere suivante :

yn+1=yn+hyn+ 1 2

ce qui permet de conclure sur l’expression de la m´ethode RK2,i.e.: yn+hf�tn+ h

2, yn+h

2f(tn, yn)�. an a

● M´ethode de Runge-Kutta 4 (RK4)

Au prix d’une impl´ementation plus coˆuteuse, la m´ethode de Runge-Kutta d’ordre 4 permet d’obtenir un degr´e suppl´ementaire de pr´ecision. Il s’agit de calculer une moyenne pond´er´ee de l’´evaluation de la d´eriv´ee (viales tangentes) au cours d’un pas d’int´egration.

Le tableau de Butcher de la m´ethode RK4 est d´ecrit par la figure 2.2(a) et la relation de r´ecurrence associ´ee est :

k1=f(tn, yn), k2=f�tn+h

2, yn+h 2k1�, k3=f�tn+h

2, yn+h

2k2�, k4=f(tn+h, yn+hk3), yn+1=yn+h

6(k1+2k2+2k3+k4).

2.3. ANALYSE NUM´ERIQUE DES ´EQUATIONS DIFF´ERENTIELLES 36