Université Mohammed V de Rabat Département Génie Électrique
École Mohammadia d’Ingénieurs Méthodes Numériques
AU 2021–2022 Khalil Amine
Handout 7 – Système d’équations différentielles et équations
différentielles d’ordre supérieur
1 Système d’équations différentielles
Un système d’équations différentielles est de la forme :
y10 (t) = f 1 (t, y1 (t), . . . , ym (t)) , y1 (t0 ) = y1,0
0
y2 (t) = f 2 (t, y1 (t), . . . , ym (t)) , y2 (t0 ) = y2,0
.. .. ..
. . .
y0 (t) = f (t, y (t), . . . , y (t)) , y (t ) = y
m m 1 m m 0 m,0
avec t ∈ R+ , f i : R+ × Rmn → Rn et yi : R+ → Rn continûment dérivable, pour i = 1, . . . , m.
Remarquer ici la présence des conditions initiales qui permettent l’unicité éventuelle de la solution. C’est
en fait un système de problèmes de Cauchy. Ce système est lié puisque chaque yi peut dépendre de toutes
les autres.
La résolution de tel système peut se faire par une adaptation des méthodes de résolution d’Euler, Taylor
et Runge-Kutta. Par exemple, l’adaptation de la méthode de Runge-Kutta d’ordre 2 (point milieu) donne
l’algorithme suivant :
Algorithme 1 Méthode de Runge-Kutta d’ordre 2 (point milieu)
Input: Un pas de discrétisation h, m conditions initiales {(t0 , yi,0 )}im=1 et un indice maximal N
Output: Une solution approchée de y
1: pour n de 0 à N − 1 faire
2: pour i de 1 à m faire
3: k i,1 ← h f i (tn , y1,n , . . . , ym,n )
4: fin pour
5: pour i de 1 à m faire
h k1,1 k m,1
6: yi,n+1 ← yn + h f i tn + , y1,n + , . . . , ym,n +
2 2 2
7: fin pour
8: t n +1 ← t n + h
9: fin pour
10: Retourner les (tn+1 , yi,n+1 ) pour n = 0, . . . , N − 1 et i = 1, . . . , m
1/4
Ainsi, la méthode de Runge-Kutta d’ordre 4 se présente comme suit :
Algorithme 2 Méthode de Runge-Kutta d’ordre 4
Input: Un pas de discrétisation h, m conditions initiales {(t0 , yi,0 )}im=1 et un indice maximal N
Output: Une solution approchée de y
1: pour n de 0 à N − 1 faire
2: pour i de 1 à m faire
3: k i,1 ← h f i (t, y1,n , . . . , ym,n )
4: fin pour
5: pour i de 1 à m faire
h k1,1 k m,1
6: k i,2 ← h f i tn + , y1,n + , . . . , ym,n +
2 2 2
7: fin pour
8: pour i de 1 à m faire
h k1,2 k m,2
9: k i,3 ← h f i tn + , y1,n + , . . . , ym,n +
2 2 2
10: fin pour
11: pour i de 1 à m faire
12: k i,4 ← h f i (tn + h, y1,n + k1,3 , . . . , ym,n + k m,3 )
13: fin pour
14: pour i de 1 à m faire
1
15: yi,n+1 ← yi,n + (k i,1 + 2k i,2 + 2k i,3 + k i,4 )
6
16: fin pour
17: t n +1 ← t n + h
18: fin pour
19: Retourner les (tn+1 , yi,n+1 ) pour n = 0, . . . , N − 1 et i = 1, . . . , m
Exemple 1 On considère le système différentiel suivant :
y10 (t) = y1 (t) + y2 (t) , y1 (0) = 0
y0 (t) = y (t) , y2 (0) = 1
2 2
La solution analytique de ce système est donnée par :
y1 (t) = tet
y ( t ) = et
2
Pour la résolution numérique, on pose :
f 1 (t, y1 (t), y2 (t)) = y1 (t) + y2 (t)
f (t, y (t), y (t)) = y (t)
2 1 2 2
avec la condition initiale (t, y1,0 , y2,0 ) = (0, 0, 1) et on considère un pas h = 0.1. On considère de plus une
précision 10−4 . Ainsi, la première itération de la méthode d’Euler donne :
y1,1 = y1,0 + 0.1 f 1 (0, y1,0 , y2,0 ) = 0.1000
y = y + 0.1 f (0, y , y ) = 1.1000
2,1 2,0 2 1,0 2,0
2/4
La première itération de la méthode de Runge Kutta d’ordre 4 donne :
k1,1 = 0.1 f 1 (0, y1,0 , y2,0 ) = 0.1000
k2,1 = 0.1 f 2 (0, y1,0 , y2,0 ) = 0.1000
k1,1 k2,1
k1,2 = 0.1 f 1 0.05, y1,0 + 2 , y2,0 + 2 = 0.1100
k k2,1
k2,2 = 0.1 f 2 0.05, y1,0 + 1,1
2 , y 2,0 + 2 = 0.1050
k k2,2
k1,3 = 0.1 f 1 0.05, y1,0 + 1,2
2 , y 2,0 + 2 = 0.1108
k1,2 k2,2
k2,3 = 0.1 f 2 0.05, y1,0 + 2 , y2,0 + 2 = 0.1053
k1,4 = 0.1 f 1 (0.1, y1,0 + k1,3 , y2,0 + k2,3 ) = 0.1216
k2,4 = 0.1 f 2 (0.1, y1,0 + k1,3 , y2,0 + k2,3 ) = 0.1105
1
y1,1 = y1,0 + (k1,1 + 2k1,2 + 2k1,3 + k1,4 ) = 0.1105
6
y2,1 = y2,0 + 1 (k2,1 + 2k2,2 + 2k2,3 + k2,4 ) = 1.1050
6
Les deux méthodes donnent une solution proche de la solution exacte : (0.1105, 1.1052). Mais la deuxième
est plus précise, en effet une implémentation sur l’intervalle [0, 1] donne les résultats suivants :
t y1 y1 ( t ) y2 y2 ( t ) | y1 ( t ) − y1 | | y2 ( t ) − y2 |
0.0 0.0000 0.0000 1.0000 1.0000 0.0000 0.0000
0.1 0.1105 0.1105 1.1105 1.1052 0.0000 0.0053
0.2 0.2449 0.2443 1.2449 1.2214 0.0006 0.0235
0.3 0.4082 0.4050 1.4082 1.3499 0.0032 0.0583
0.4 0.6068 0.5967 1.6068 1.4918 0.0100 0.1149
0.5 0.8482 0.8244 1.8482 1.6487 0.0238 0.1994
0.6 1.1416 1.0933 2.1416 1.8221 0.0483 0.3195
0.7 1.4984 1.4096 2.4984 2.0138 0.0887 0.4846
0.8 1.9320 1.7804 2.9320 2.2255 0.1516 0.7065
0.9 2.4593 2.2136 3.4593 2.4596 0.2457 0.9997
1.0 3.1002 2.7183 4.1002 2.7183 0.3819 1.3819
Exercice 1
On considère le système différentiel suivant :
y10 (t) = y2 (t) , y1 (0) = 0
y0 (t) = 2y (t) − y (t) , y (0) = 1
2 2 1 2
1. Vérifier que la solution analytique est :
y1 (t) = 2et − tet
y (t) = et − tet
2
2. Appliquer une itération de la méthode de Runge-Kutta d’ordre 4 et comparer le résultat avec la
solution exacte.
3/4
2 Équations différentielles d’ordre supérieur
La forme générale d’une équation différentielle d’ordre m ≥ 2 avec conditions initiales est :
y(m) (t) = f t, y(t), y0 (t), y00 (t), . . . , y(m−1) (t)
y ( t 0 ) = c 1 , y 0 ( t 0 ) = c 2 , . . . , y ( m −1) ( t 0 ) = c m
où y(i) (t) désigne la ième dérivée de y(t). Les m conditions initiales permettent d’assurer l’unicité de la
solution.
Théoréme 1 L’équation différentielle d’ordre m avec les m conditions est équivalente au système de m
équations d’ordre 1 suivant :
y10 (t) = y2 (t)
, y1 ( t0 ) = c1
y20 (t) = y3 (t)
, y2 ( t0 ) = c2
.. .. ..
. . .
y0m−1 (t) = ym (t)
, y m −1 ( t 0 ) = c m −1
0
ym (t) = f (t, y1 (t), y2 (t), . . . , ym (t)) , y m ( t0 ) = c m
Exemple 2 On considère l’équation différentielle :
y00 (t) = −y0 (t) + (y(t))2 + t + 3
y(0) = 1, y0 (0) = 2
Cette équation est d’ordre 2, donc elle peut être transformée en un système différentiel de 2 équations
différentielles du premier ordre, on pose alors :
y1 ( t ) = y ( t )
y (t) = y0 (t)
2 1
Ainsi on trouve : 0
y ( t ) = y2 ( t ) , y1 (0) = 1
1
0 2
y2 (t) = −y2 (t) + (y1 (t)) + t + 3 , y2 (0) = 2
Exercice 2
Résoudre numériquement l’équation différentielle d’ordre 3 suivante :
y(3) (t) = (y00 (t))2 + 2y0 (t) + (y(t))3 + t4 + 1
y(1) = 1, y0 (1) = 0, y00 (1) = 3
4/4