Systèmes d'ÉD et ÉD d'ordre supérieur
Objectifs d'apprentissage
À la fin de cette leçon, vous serez en mesure de :
- Résoudre numériquement un système d'ÉD couplées
- Transformer une ÉD d'ordre supérieur en système d'ordre 1
- Appliquer les méthodes vues (Euler, RK, Adams-Moulton) aux systèmes
- Choisir la méthode appropriée selon le contexte
Prérequis
- Méthodes numériques pour ÉD scalaires (Leçons 6.2–6.5)
- Notation vectorielle
- Équations différentielles d'ordre 2 (pendule, oscillateurs)
Systèmes d'ÉD du premier ordre
Formulation
Un système de équations différentielles couplées s'écrit :
avec les conditions initiales , , etc.
Notation vectorielle
On regroupe les inconnues dans un vecteur :
Le système s'écrit alors :
Principe fondamental
Toutes les méthodes numériques (Euler, RK, Adams-Moulton) s'appliquent composante par composante — il suffit de remplacer les scalaires par des vecteurs.
Exemple : système 2×2
Considérons le système :
Résolution par Euler modifiée (h = 0.1)
Pas 0 → 1 : , ,
Calcul des dérivées en :
Prédiction :
Calcul des dérivées au point prédit () :
Correction :
Résolution par Taylor d'ordre 4
Pour Taylor, on doit calculer à partir du système.
Calcul de :
Calcul de :
Ces expressions nécessitent les valeurs de et , donc tout se calcule itérativement.
Transformation d'une ÉD d'ordre supérieur
Principe général
Toute ÉD d'ordre peut être transformée en un système de ÉD d'ordre 1.
Méthode de transformation
Pour une ÉD d'ordre :
On pose :
On obtient le système :
Exemple : ÉD d'ordre 2
Considérons l'ÉD :
On pose et . Alors :
Application au pendule
L'équation du pendule :
devient avec et :
Solution linéarisée (petits mouvements)
Pour , , et la solution analytique est :
Oscillateur de Van der Pol
Un exemple classique d'ÉD non linéaire d'ordre 2 :
avec , .
Transformation en système
On pose , :
Résolution par Euler (h = 0.1)
Pas initial : , ,
Après un pas :
L'oscillateur de Van der Pol exhibe un cycle limite — une solution périodique vers laquelle toutes les trajectoires convergent.
Adams-Moulton pour systèmes
Le schéma prédicteur-correcteur s'applique directement :
Prédicteur (Adams-Bashforth)
Correcteur (Adams-Moulton)
Exemple numérique
Pour le système , avec :
| t | x(t) | y(t) |
|---|---|---|
| 0.000 | 1.0000 | −1.0000 |
| 0.025 | 0.9759 | −0.9756 |
| 0.050 | 0.9536 | −0.9524 |
| 0.075 | 0.9330 | −0.9303 |
| 0.100 (prédit) | 0.91396 | −0.90923 |
| 0.100 (corrigé) | 0.91396 | −0.90923 |
Algorithme RK4 pour systèmes
import numpy as np
def rk4_system(F, t0, X0, h, n_steps):
"""
Méthode RK4 pour un système d'ÉD.
Paramètres:
F: fonction F(t, X) retournant un vecteur
t0: temps initial
X0: vecteur des conditions initiales
h: pas de discrétisation
n_steps: nombre de pas
Retourne:
t, X: temps et matrice des solutions
"""
X0 = np.array(X0)
t = [t0]
X = [X0]
for j in range(n_steps):
tj = t[-1]
Xj = X[-1]
k1 = h * F(tj, Xj)
k2 = h * F(tj + h/2, Xj + k1/2)
k3 = h * F(tj + h/2, Xj + k2/2)
k4 = h * F(tj + h, Xj + k3)
X_next = Xj + (k1 + 2*k2 + 2*k3 + k4) / 6
t.append(tj + h)
X.append(X_next)
return np.array(t), np.array(X)
# Exemple : pendule
def pendule(t, X):
g, L = 9.81, 1.0
theta, omega = X
return np.array([omega, -g/L * np.sin(theta)])
t, X = rk4_system(pendule, 0, [0.3, 0], 0.01, 1000)
# X[:, 0] = theta(t), X[:, 1] = omega(t)Tableau comparatif final des méthodes
| Critère | Euler modifiée | RK4 | Adams-Moulton |
|---|---|---|---|
| Type | Pas unique | Pas unique | Pas multiple |
| Erreur locale | |||
| Erreur globale | |||
| Évaluations de f/pas | 2 | 4 | 2 |
| Stabilité | Bonne | Bonne | Bonne |
| Changement de pas | Facile | Facile | Difficile |
| Recommandée | Non | Oui | Oui |
Recommandations pratiques
- RK4 : méthode par défaut, flexible, précise
- Adams-Moulton : longues intégrations à pas constant, coûteux
- Euler modifiée : à éviter sauf pour l'enseignement
Résumé
- Les systèmes d'ÉD se traitent composante par composante avec les mêmes méthodes
- Toute ÉD d'ordre se transforme en système de ÉD d'ordre 1
- RK4 et Adams-Moulton sont les méthodes recommandées (ordre global 4)
- Le choix dépend du contexte : pas adaptatif vs pas fixe, coût de
Pour aller plus loin
La Partie A (conditions initiales) est terminée. Dans les prochaines leçons, nous aborderons la Partie B : les problèmes à conditions aux limites, en commençant par la méthode de tir.