Passer au contenu principal
AnalyseMéthode · Glossaire

méthode de Runge-Kutta

Pour un problème de Cauchy y′ = f(t, y) dont la solution existe et est suffisamment régulière, une méthode de Runge-Kutta approche la valeur suivante en combinant plusieurs évaluations de f effectuées dans le pas. Ces pentes intermédiaires corrigent la direction et permettent une bonne précision sans connaître la solution exacte.
Les quatre stages du pas RK4 Quatre points montrent les états où les pentes sont calculées, avec deux états distincts au temps 0,05 et les poids 1, 2, 2, 1. k1 · poids 1 k2 · poids 2 k3 · poids 2 k4 · poids 1
Les stages k2 et k3 sondent le même temps 0,05 avec deux états distincts ; leurs pentes reçoivent chacune le poids 2.
Sommaire

Ce que vous allez apprendre

  • Relier les quatre évaluations de pente au calcul du point suivant.
  • Appliquer la formule RK4 à y′ = y avec un pas de 0,1.
  • Vérifier l'approximation 1,105170833 au moyen de la solution exacte.
  • Choisir entre Euler, RK4 explicite, pas adaptatif et méthode implicite selon un symptôme observable.
  • Repérer les effets d'un pas trop grand, de la raideur et d'une rupture de régularité.

En clair

Imaginez que vous suiviez une courbe dont vous ne connaissez que la pente. Avec un pas de 0,1, la méthode d'Euler regarde cette pente une fois et avance tout droit. Une méthode de Runge-Kutta sonde aussi ce qui se passerait au milieu et au bout du pas.
Ces pentes intermédiaires sont ensuite combinées. Elles corrigent la direction avant de fixer le point suivant. La version RK4 effectue quatre sondages, avec davantage de poids pour les deux du milieu : elle suit ainsi mieux la courbure sans devoir connaître la solution exacte.

Définition

Une méthode de Runge-Kutta est un schéma numérique à un pas pour approcher la solution d'une équation différentielle ordinaire. Le temps est noté t, l'état cherché y, et la fonction f donne sa dérivée dans l'équation y(t)=f(t,y(t))y'(t)=f(t,y(t)). Partant d'une valeur connue yn au temps tn, le schéma calcule une approximation yn+1 au temps tn+1 = tn + h, où h est le pas.
Au lieu d'utiliser seulement la pente au début du pas, la famille Runge-Kutta évalue f en plusieurs étapes, appelées stages. Chaque stage part de tn et yn, puis incorpore certaines pentes déjà obtenues. Une combinaison pondérée de ces stages fournit l'incrément final. Le nombre de stages et leurs coefficients distinguent les variantes d'ordre 2, 3 ou 4.
La variante explicite classique RK4 utilise quatre évaluations par pas. Lorsque f est assez régulière et que le pas diminue, son erreur globale est d'ordre 4 : diviser h par deux réduit asymptotiquement cette erreur d'un facteur voisin de 16. Cet ordre ne garantit toutefois pas la précision pour un pas arbitrairement grand, et la stabilité dépend à la fois de l'équation et du pas choisi.

Le principe

Pour l'équation y′ = f(t, y), connaissant yn au temps tn et choisissant un pas h, la méthode RK4 classique calcule successivement quatre pentes :
k1=f(tn,yn),k2=f(tn+h2,yn+h2k1),k3=f(tn+h2,yn+h2k2),k4=f(tn+h,yn+hk3).\begin{aligned}k_1&=f(t_n,y_n),\\k_2&=f(t_n+\tfrac{h}{2},y_n+\tfrac{h}{2}k_1),\\k_3&=f(t_n+\tfrac{h}{2},y_n+\tfrac{h}{2}k_2),\\k_4&=f(t_n+h,y_n+hk_3).\end{aligned}
La nouvelle approximation est alors yn+1=yn+h6(k1+2k2+2k3+k4)y_{n+1}=y_n+\frac{h}{6}(k_1+2k_2+2k_3+k_4). Le calcul s'arrête à yn+1 pour ce pas ; on le recommence avec cette valeur pour avancer de nouveau.

Quand l'utiliser

La méthode s'applique à un problème initial : une équation y′ = f(t, y), une valeur de départ y(t0) = y0 et un pas h sont nécessaires. La fonction f doit pouvoir être évaluée aux quatre points intermédiaires. Pour qu'une solution locale soit unique, une condition usuelle est que f soit continue en t et localement lipschitzienne par rapport à y.
L'ordre 4 annoncé pour RK4 exige en outre une régularité suffisante de f et de la solution sur l'intervalle calculé. Le pas doit rester assez petit pour la précision et la stabilité recherchées.
Si une équation raide fait croître les valeurs numériques alors que la solution attendue décroît, diminuer h peut devenir trop coûteux. Une méthode implicite adaptée aux problèmes raides est alors préférable.

Un exemple, pas à pas

Approchons y(0,1) pour le problème y′ = y et y(0) = 1 avec un seul pas RK4 de longueur h = 0,1. Les données sont t0 = 0, y0 = 1 et f(t, y) = y.
1. La pente de départ vaut k1 = f(0, 1) = 1.
2. Au milieu du pas, le premier essai donne k2 = f(0,05, 1 + 0,05 × 1) = 1,05. Le second donne k3 = f(0,05, 1 + 0,05 × 1,05) = 1,0525.
3. Au bout du pas, k4 = f(0,1, 1 + 0,1 × 1,0525) = 1,10525. Le schéma sonde donc deux états voisins mais distincts au temps 0,05. La figure situe exactement les quatre états testés.
4. Combinons les pentes : y1=1+0,16(1+2×1,05+2×1,0525+1,10525)y_1=1+\frac{0{,}1}{6}(1+2\times1{,}05+2\times1{,}0525+1{,}10525). On obtient y1 ≈ 1,105170833.
5. La solution exacte de contrôle est y(t) = et. Elle donne e0,1 ≈ 1,105170186 : l'écart absolu de ce pas est donc d'environ 0,000000647.

En pratique

Pour obtenir rapidement une trajectoire numérique à partir d'une équation différentielle, RK4 à pas fixe convient lorsque la solution varie régulièrement. On choisit h, on avance pas après pas, puis on recommence avec h/2 pour contrôler que les valeurs se stabilisent.
Pour une première estimation peu coûteuse, la méthode d'Euler utilise une seule pente. RK4 est préférable si, au même pas, la courbure rend cette extrapolation trop grossière et si quatre évaluations de f restent abordables.
Lorsque la vitesse de variation change fortement au cours du calcul, un schéma de Runge-Kutta à pas adaptatif estime l'erreur et resserre les pas là où c'est nécessaire. Il évite d'imposer partout le plus petit pas.
Si de très petits pas sont exigés seulement pour empêcher une instabilité, le problème peut être raide. Une méthode implicite stable sur ce type d'équation devient alors un meilleur choix.

À ne pas confondre

Méthode d'Euler. Elle n'est pas un autre nom de RK4 : Euler emploie une seule évaluation de f par pas, contre quatre pour RK4. Sur y′ = y, y(0) = 1 et h = 0,1, Euler donne 1,1 tandis que RK4 donne environ 1,105170833.
Ordre et nombre de stages. L'ordre mesure la vitesse asymptotique de diminution de l'erreur quand h tend vers zéro ; le nombre de stages compte les évaluations de f par pas. Dans RK4 classique, les deux valent 4, mais cette coïncidence ne les rend pas synonymes pour toute méthode de Runge-Kutta.

Limites et pièges

Un ordre élevé ne compense pas un pas trop grand. Pour y′ = y avec y(0) = 1, un seul pas RK4 de longueur 1 donne environ 2,708333, contre e ≈ 2,718282. Si la valeur change encore sensiblement en divisant h par deux, il faut continuer à raffiner le pas.
La stabilité n'est pas automatique. Sur une équation raide, RK4 explicite peut produire des oscillations ou une croissance artificielle. Il faut réduire h ou adopter une méthode implicite dont le domaine de stabilité convient au problème.
Une rupture de régularité dégrade l'ordre. Si f change brutalement ou si la solution rencontre un événement, les quatre stages peuvent chevaucher cette rupture. Il faut localiser l'événement, arrêter le pas à cet endroit, puis redémarrer le calcul.
Les erreurs s'accumulent. Une erreur locale minuscule sur un pas ne borne pas à elle seule l'erreur finale après des milliers de pas. Une comparaison entre plusieurs tailles de pas ou un contrôle adaptatif reste nécessaire.

Pour aller plus loin

méthode d'Euler — Comparer le calcul à une seule pente avec les quatre stages de RK4 et mesurer le gain de précision.
Continuez avec Tangente

Explorez les mathématiques autrement

Retrouvez nos magazines, podcasts et jeux pour explorer les mathématiques autrement.

Découvrir les offres