Méthodes de Runge-Kutta

Objectifs d'apprentissage

À la fin de cette leçon, vous serez en mesure de :

  • Comprendre le principe des méthodes de Runge-Kutta
  • Appliquer la méthode RK4 classique
  • Comparer les différentes variantes de Runge-Kutta (ordre 2, 4, 5)
  • Comprendre le concept de pas adaptatif avec RK-Fehlberg

Prérequis

  • Méthode d'Euler modifiée
  • Développement de Taylor
  • Notion d'ordre de précision

Motivation

Discrétisation temporelle : échantillonnage de la position à intervalles réguliers ΔT

La méthode de Taylor nécessite le calcul explicite des dérivées de , ce qui est souvent fastidieux. Les méthodes de Runge-Kutta atteignent le même ordre de précision en utilisant uniquement des évaluations de en différents points.

💡

Idée clé

Au lieu de calculer analytiquement, on évalue en plusieurs points intermédiaires et on combine ces valeurs avec des poids appropriés.


Runge-Kutta d'ordre 2

Formulation générale

On cherche une formule de la forme :

où :

Détermination des coefficients

En développant par Taylor et en identifiant avec la série de Taylor d'ordre 2, on obtient le système :

Ce système a une infinité de solutions. Trois choix classiques :

TypeabαβNom usuel
I1/21/211Euler modifiée (Heun)
II011/21/2Point milieu
III2/31/33/23/2Ralston

Euler modifiée = RK2 Type I

La méthode d'Euler modifiée de la leçon précédente est exactement la méthode RK2 de Type I !

RK2 Type III (Ralston)


Runge-Kutta d'ordre 4 (RK4)

La méthode la plus utilisée en pratique est le Runge-Kutta classique d'ordre 4.

💡

Formules RK4

  • Ordre local :
  • Ordre global :
  • Évaluations de f : 4 par pas

Interprétation

  • : pente au début de l'intervalle
  • : pente au milieu, estimée avec
  • : pente au milieu, estimée avec
  • : pente à la fin, estimée avec

La formule finale est une moyenne pondérée : les pentes au milieu () ont un poids double.

Algorithme

python
def rk4(f, t0, y0, h, n_steps):
  """
  Méthode de Runge-Kutta d'ordre 4.

  Paramètres:
      f: fonction f(t, y) = y'
      t0, y0: conditions initiales
      h: pas de discrétisation
      n_steps: nombre de pas

  Retourne:
      t, y: tableaux des valeurs
  """
  t = [t0]
  y = [y0]

  for j in range(n_steps):
      tj, yj = t[-1], y[-1]

      k1 = h * f(tj, yj)
      k2 = h * f(tj + h/2, yj + k1/2)
      k3 = h * f(tj + h/2, yj + k2/2)
      k4 = h * f(tj + h, yj + k3)

      y_next = yj + (k1 + 2*k2 + 2*k3 + k4) / 6

      t.append(tj + h)
      y.append(y_next)

  return t, y

Exemple : RK4 sur l'ÉD fil rouge

Appliquons RK4 à , , avec .

Calcul du premier pas

,

Valeur exacte :

Erreur :

Tableau comparatif (h = 0.1)

tRK4 yₙExact y(t)Erreur
0.01.00000001.00000000
0.10.99502490.9950249
0.20.98039220.9803922
0.30.95693770.9569378
0.40.92592580.9259259

Précision remarquable

Avec seulement 4 évaluations de par pas, RK4 atteint une précision de l'ordre de — bien meilleure qu'Euler modifiée ().


Efficacité des méthodes RK

MéthodeOrdre globalÉval. de f/pasEfficacité
Euler ordinaire1Faible
RK2 (Euler modifiée)2Modérée
RK4 classique4Excellente
RK5 (Fehlberg)6Très bonne + estimé d'erreur
⚠️

Limitation de RK4

RK4 ne fournit pas d'estimation de l'erreur. On ne sait pas si le pas choisi est approprié. Pour cela, on utilise des méthodes à pas adaptatif.


Méthodes avec estimation d'erreur

RK-Merson (ordre 4 avec estimé)

Utilise 5 évaluations de pour obtenir :

  • Une approximation d'ordre 4
  • Une estimation de l'erreur

RK-Fehlberg (ordre 5 avec estimé)

La méthode RKF45 utilise 6 évaluations de :

Approximation d'ordre 5 :

Estimation de l'erreur :

Exemple : RK-Fehlberg sur l'ÉD fil rouge

tRKF yₙExact y(t)Erreur estimée
0.10.99502490.9950249
0.20.98039220.9803922
0.60.84745760.8474576

Pas adaptatif

L'estimation d'erreur permet d'ajuster automatiquement le pas :

  1. Si : réduire et refaire le pas
  2. Si : augmenter pour le prochain pas
💡

Formule d'ajustement

où l'exposant 1/5 vient de l'ordre 5 de la méthode.


Comparaison RK4 avec différents pas

hErreur à t=4Nombre de pasÉval. de f
1.0416
0.5832
0.140160

Diviser par 2 divise l'erreur par (ordre 4).


Résumé

  • Les méthodes de Runge-Kutta atteignent des ordres élevés sans calculer les dérivées de
  • RK4 classique : 4 évaluations, ordre global , excellent rapport précision/coût
  • RK-Fehlberg : 6 évaluations, ordre 5 + estimation d'erreur pour pas adaptatif
  • La pente finale est une moyenne pondérée des pentes intermédiaires
  • Les méthodes RK sont les plus utilisées en pratique pour les PVI

Pour aller plus loin

Dans la prochaine leçon, nous verrons les méthodes à pas multiples (Adams, Adams-Moulton), qui réutilisent les évaluations précédentes pour gagner en efficacité.