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

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 :
| Type | a | b | α | β | Nom usuel |
|---|---|---|---|---|---|
| I | 1/2 | 1/2 | 1 | 1 | Euler modifiée (Heun) |
| II | 0 | 1 | 1/2 | 1/2 | Point milieu |
| III | 2/3 | 1/3 | 3/2 | 3/2 | Ralston |
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
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, yExemple : RK4 sur l'ÉD fil rouge
Appliquons RK4 à , , avec .
Calcul du premier pas
,
Valeur exacte :
Erreur :
Tableau comparatif (h = 0.1)
| t | RK4 yₙ | Exact y(t) | Erreur |
|---|---|---|---|
| 0.0 | 1.0000000 | 1.0000000 | 0 |
| 0.1 | 0.9950249 | 0.9950249 | |
| 0.2 | 0.9803922 | 0.9803922 | |
| 0.3 | 0.9569377 | 0.9569378 | |
| 0.4 | 0.9259258 | 0.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éthode | Ordre global | Éval. de f/pas | Efficacité |
|---|---|---|---|
| Euler ordinaire | 1 | Faible | |
| RK2 (Euler modifiée) | 2 | Modérée | |
| RK4 classique | 4 | Excellente | |
| RK5 (Fehlberg) | 6 | Trè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
| t | RKF yₙ | Exact y(t) | Erreur estimée |
|---|---|---|---|
| 0.1 | 0.9950249 | 0.9950249 | |
| 0.2 | 0.9803922 | 0.9803922 | |
| 0.6 | 0.8474576 | 0.8474576 |
Pas adaptatif
L'estimation d'erreur permet d'ajuster automatiquement le pas :
- Si : réduire et refaire le pas
- 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
| h | Erreur à t=4 | Nombre de pas | Éval. de f |
|---|---|---|---|
| 1.0 | 4 | 16 | |
| 0.5 | 8 | 32 | |
| 0.1 | 40 | 160 |
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é.