Méthode de Runge-Kutta d'Ordre Quatre pour Résoudre les Équations Différentielles

Table des Matières

Introduction

Un calculateur pour résoudre des équations différentielles du second ordre en utilisant une méthode numérique basée sur la méthode de Runge-Kutta d'ordre quatre [1] ainsi qu'une méthode analytique basée sur un calculateur analytique est présenté à des fins de comparaison et d'éducation.
La méthode de Runge-Kutta d'ordre quatre appliquée à une équation différentielle du premier ordre est présentée, puis la même méthode est appliquée à une équation différentielle linéaire du second ordre. Enfin, un didacticiel interactif est inclus pour étudier les effets de la taille du pas \( h \) utilisé dans la méthode de Runge-Kutta.

Méthode de Runge-Kutta d'Ordre Quatre pour une Équation Différentielle du Premier Ordre

La méthode de Runge-Kutta d'ordre 4 est une méthode numérique largement utilisée pour résoudre les équations différentielles ordinaires (EDO) de la forme : \[ \dfrac{dy}{dt} = f(y, t) \] avec une condition initiale \( y(0) = y_0 \). La méthode de Runge-Kutta d'ordre 4 approxime la solution \( y(t) \) à un moment futur \( t + h \) (où \( h \) est la taille du pas) en se basant sur l'information à l'instant \( t \). La méthode utilise quatre étapes intermédiaires pour calculer la pente à différents points de l'intervalle \([t, t+h]\) et les combine pour obtenir une pente moyenne pondérée, qui est ensuite utilisée pour estimer \( y(t+h) \). Voici les étapes impliquées dans la méthode de Runge-Kutta d'ordre 4 :
Étape 1 : \[ k_1 = h \cdot f(y_n, t_n) \] Ici, \( y_n \) et \( t_n \) sont les valeurs actuelles de \( y \) et \( t \).
Étape 2 : \[ k_2 = h \cdot f\left(y_n + \dfrac{k_1}{2}, t_n + \dfrac{h}{2}\right) \] Étape 3 : \[ k_3 = h \cdot f\left(y_n + \dfrac{k_2}{2}, t_n + \dfrac{h}{2}\right) \] Étape 4 : \[ k_4 = h \cdot f(y_n + k_3, t_n + h) \] Étape 5 :
Mise à jour de \( y \) et \( t \) La méthode de Runge-Kutta d'ordre quatre combine les quantités ci-dessus (pentes) pour approximer la valeur de \( y \) à la fin de l'intervalle \([t, t+h]\). La pente moyenne pondérée de ces pentes est calculée à l'aide de la formule : \[ \dfrac{1}{6}(k_1 + 2k_2 + 2k_3 + k_4) \] Cette pente moyenne est ensuite multipliée par \( h \) et ajoutée à \( y_n \) pour mettre à jour la valeur de \( y \) à \( t_{n+1} \). \[ y_{n+1} = y_n + h (\dfrac{1}{6}(k_1 + 2k_2 + 2k_3 + k_4)) \] \[ t_{n+1} = t_n + h \]

Méthode de Runge-Kutta pour une Équation Différentielle du Second Ordre

Pour une équation différentielle du second ordre de la forme : \[ \dfrac{d^2y}{dt^2} = f(y, \dfrac{dy}{dt}, t) \] avec des conditions initiales : \[ y(0) = y_0 \] \[ \dfrac{dy}{dt}(0) = \dfrac{dy}{dt}_0 \] nous pouvons la convertir en un système de deux équations différentielles du premier ordre en introduisant une nouvelle variable :
Soit \[ \dfrac{dy}{dt} = v \] Ainsi, l'équation différentielle du second ordre peut être écrite sous forme de système comme suit : \[ \dfrac{dy}{dt} = v \] \[ \dfrac{dv}{dt} = \dfrac{d^2y}{dt^2} = f(y, v, t) \] Nous pouvons ensuite utiliser la méthode de Runge-Kutta d'ordre 4 pour résoudre ce système d'équations différentielles du premier ordre comme suit :
Étape 1 :
Calculer \( k_{1y} \) et \( k_{1v} \) \[ k_{1y} = h \cdot v \] \[ k_{1v} = h \cdot f(y_n, v_n, t_n) \]
Étape 2 :
Calculer \( k_{2y} \) et \( k_{2v} \) \[ k_{2y} = h \cdot (v_n + \dfrac{k_{1v}}{2}) \] \[ k_{2v} = h \cdot f\left(y_n + \dfrac{k_{1y}}{2}, v_n + \dfrac{k_{1v}}{2}, t_n + \dfrac{h}{2}\right) \]
Étape 3 :
Calculer \( k_{3y} \) et \( k_{3v} \) \[ k_{3y} = h \cdot (v_n + \dfrac{k_{2v}}{2}) \] \[ k_{3v} = h \cdot f\left(y_n + \dfrac{k_{2y}}{2}, v_n + \dfrac{k_{2v}}{2}, t_n + \dfrac{h}{2}\right) \]
Étape 4 :
Calculer \( k_{4y} \) et \( k_{4v} \) \[ k_{4y} = h \cdot (v_n + k_{3v}) \] \[ k_{4v} = h \cdot f(y_n + k_{3y}, v_n + k_{3v}, t_n + h) \]
Étape 5 :
Mise à jour de \( y \) et \( v \) \[ y_{n+1} = y_n + \dfrac{1}{6}(k_{1y} + 2k_{2y} + 2k_{3y} + k_{4y}) \] \[ v_{n+1} = v_n + \dfrac{1}{6}(k_{1v} + 2k_{2v} + 2k_{3v} + k_{4v}) \] \[ t_{n+1} = t_n + h \]

Calculateur de la Méthode de Runge-Kutta

Nous présentons maintenant un calculateur qui approxime la solution des équations différentielles du second ordre de la forme \[ a \dfrac{d^2y}{dt^2} + b \dfrac{dy}{dt} + c y = 0 \] en utilisant la méthode de Runge-Kutta d'ordre quatre décrite ci-dessus et la solution est également donnée analytiquement pour comparaison.
L'équation différentielle ci-dessus est également résolue analytiquement pour permettre des comparaisons.
Soit \[ \dfrac{dy}{dt} = v \] Nous devons donc appliquer la méthode de Runge-Kutta d'ordre 4 au système suivant. \[ \dfrac{dy}{dt} = v \] \[ \dfrac{dv}{dt} = \dfrac{d^2y}{dt^2} = \dfrac{1}{a} (- b \; v - c \; y ) \] Le calculateur utilise la méthode de Runge-Kutta d'ordre quatre et résout également la même équation différentielle analytiquement, puis compare les résultats graphiquement.

Entrez les Coefficients et les Conditions Initiales

Entrez les coefficients \(a, b\) et \(c\) ainsi que les conditions initiales \(y(0)\) et \(dy/dt(0)\) et la taille du pas \(h\), puis résolvez et comparez les graphiques des solutions numériques et analytiques obtenues.
Note
1) Vous pouvez utiliser la souris et survoler les graphiques pour obtenir une lecture des points sur les graphiques et donc les comparer.
Lecture de points sur un graphique
2) Utilisez la souris pour afficher un graphique à la fois ou les deux en cliquant sur les graphiques dans la légende affichée à droite.
Légende des graphiques
3) Les erreurs lors de l'utilisation de la méthode de Runge-Kutta dépendent de la taille du pas \(h\). Ce calculateur permet de changer \(h\) et de comparer les méthodes numériques et analytiques et d'étudier l'effet de \(h\) sur les erreurs dues à l'approximation utilisée dans la méthode de Runge-Kutta d'ordre 4.
4) Vous pouvez également changer le nombre \(n\) de pas utilisés dans les calculs. Le graphique s'étend de \(x = 0\) à \(x = n \times h\).








Solutions :

Didacticiel Interactif : Effets de la Taille du Pas \(h\) sur l'Approximation par la Méthode de Runge-Kutta

Entrez les valeurs suivantes pour les constantes \(b, c\) et \(d\) comme suit :
\(a = 1\), \(b = 0.5\) et \(c = 5\), ce qui devrait donner une fonction oscillante à amplitude décroissante.
Entrez maintenant les valeurs de \(h\) en commençant par \(h = 0.01\), puis augmentez \(h\) jusqu'à 1. Quelles valeurs de \(h\) donnent une meilleure approximation de la solution par rapport à la méthode analytique ?

Plus de Références et Liens

1 - https://personal.math.ubc.ca/~cbm/aands/abramowitz_and_stegun.pdf - Handbook of Mathematical Functions - par A. Abramowitz et I. Stegun - Page 875
2 - University Calculus - Early Transcendental - Joel Hass, Maurice D. Weir, George B. Thomas, Jr., Christopher Heil - ISBN-13 : 978-0134995540
3 - Calculus - Gilbert Strang - MIT - ISBN-13 : 978-0961408824
4 - Calculus - Early Transcendental - James Stewart - ISBN-13 : 978-0-495-01166-8