Université de Grenoble Année 2014-2015
Master M1 Biologie
BIO4221 Bioinformatique
Méthodes d’Euler et de Runge-Kutta
Principe général : Il s’agit de méthodes de résolution numérique d’équations diffé-
rentielles du premier ordre avec condition initiale. Pour un système de deux équations
différentielles
x0 (t) = F (x(t), y(t)), y 0 (t) = G(x(t), y(t)),
et des conditions initiales
x(0) = x0 , y(0) = y0 ,
on choisit l’intervalle de longueur T sur lequel on veut approcher (x(t), y(t)) et un nombre
de pas n > 1, on subdivise l’intervalle [0, T ] en n > 1 sous-intervalles de longueur
h = T /n, et on approche la solution (x(t), y(t)) de l’équation différentielle sur l’intervalle
[0, T ] = [0, nh] par des vecteurs
(Xk )06k6n , (Yk )06k6n ,
avec l’idée que, pour tout k,
Xk ≈ x(kh), Yk ≈ y(kh),
ou bien de façon équivalente, que pour tout temps t dans [0, nh],
x(t) ≈ Xbt/hc , y(t) ≈ Xbt/hc .
Méthode d’Euler : Appelée aussi « méthode de la tangente », c’est la plus simple
des méthodes de résolution numérique des équations différentielles, on considère que, h
étant petit,
x(t + h) ≈ x(t) + hx0 (t) = x(t) + hF (x(t), y(t)),
et de même pour y(t + h). On considère donc le schéma
X0 = x0 , Y0 = y0 , Xk+1 = Xk + hF (Xk , Yk ), Yk+1 = Yk + hG(Xk , Yk ).
Méthode de Runge-Kutta d’ordre 4 (RK4) : la méthode d’Euler n’utilise que la
dérivée au début de chaque intervalle [kh, (k +1)h] pour déduire les valeurs Xk+1 et Yk+1
à la fin de l’intervalle à partir des valeurs Xk et Yk au début de l’intervalle. À présent
on va calculer des valeurs de la dérivée en 4 points de l’intervalle, afin d’atteindre une
plus grande précision.
Dans le détail, on modifie seulement l’étape itérative de la méthode d’Euler, qui devient
Xk+1 = Xk + 16 h(K1 + 2K2 + 2K3 + K4 ), Yk+1 = Yk + 16 h(L1 + 2L2 + 2L3 + L4 ),
avec
K1 = F (Xk , Yk ), L1 = G(Xk , Yk ),
puis
K2 = F (Xk + 21 hK1 , Yk + 12 hL1 ), L2 = G(Xk + 12 hK1 , Yk + 12 hL1 ),
K3 = F (Xk + 21 hK2 , Yk + 12 hL2 ), L3 = G(Xk + 12 hK2 , Yk + 12 hL2 ),
et enfin,
K4 = F (Xk + hK3 , Yk + hL3 ), L4 = G(Xk + hK3 , Yk + hL3 ).
Erreurs : La méthode d’Euler est une méthode d’ordre 1 au sens où l’erreur commise à
chaque étape (Xk , Yk ) → (Xk+1 , Yk+1 ) est de l’ordre de h2 , donc l’erreur totale accumulée
est de l’ordre de h.
La méthode RK4 est une méthode d’ordre 4 au sens où l’erreur commise à chaque étape
(Xk , Yk ) → (Xk+1 , Yk+1 ) est de l’ordre de h5 , donc l’erreur totale accumulée est de l’ordre
de h4 .
Exemple : On cherche à tester les deux méthodes sur l’équation différentielle
x0 = x, x(0) = 1,
dont on connaı̂t la solution
x(t) = et .
Montrer que la méthode d’Euler de pas h revient à approcher x(t) par
xhE (t) = (1 + h)t/h ,
et que la méthode RK4 de pas h revient à approcher x(t) par
xhRK4 (t) = (1 + h + 21 h2 + 16 h3 + 1 4 t/h
24 h ) .
Le développement de l’exponentielle en série entière affirme que, quand h → 0,
eh = 1 + h + Θ(h2 ), eh = 1 + h + 12 h2 + 61 h3 + 1 4
24 h + Θ(h5 ).
En utilisant ce résultat n = t/h fois, on peut en déduire que
xhE (t) = x(t) + Θ(h), xhRK4 (t) = x(t) + Θ(h4 ).