Ce que fait ce calculateur
Cet outil résout numériquement une équation différentielle ordinaire du premier ordre de la forme \(y' = F(x, y)\), avec une condition initiale donnée \(y(x_0) = y_0\), sur l'intervalle allant de \(x_0\) à \(x_n\). Il s'appuie sur la méthode classique de Runge-Kutta d'ordre 4 (RK4), l'un des intégrateurs à pas unique les plus utilisés et les plus fiables de l'analyse numérique. Le résultat se présente sous la forme d'un tableau de points \((x_i, y_i)\) approchant la solution exacte, accompagné de la valeur finale \(y(x_n)\). Il s'agit d'un outil purement mathématique, sans rapport avec un pays ou une unité particulière.
Comment l'utiliser
Saisissez le membre de droite \(F(x,y)\) sous forme d'une expression en x et y (par exemple 1-y^2, x+y, x*y ou sin(x)+y). Les opérateurs pris en charge sont + - * / ^ ainsi que des fonctions telles que sin, cos, tan, exp, log, ln, sqrt, abs, tanh, sans oublier les constantes pi et e. Indiquez le point de départ \(x_0\), la valeur initiale \(y_0\), le point d'arrivée \(x_n\), puis choisissez le nombre \(n\) de subdivisions égales. Plus le nombre de subdivisions est élevé, plus la précision est grande, car l'erreur globale de RK4 décroît en \(h^4\).
La formule expliquée
L'intervalle est découpé en \(n\) pas égaux de largeur \(h = (x_n - x_0)/n\). À chaque pas, RK4 évalue la pente à quatre reprises : une fois au début (\(k_1\)), deux fois au milieu (\(k_2\), \(k_3\)) et une fois à la fin (\(k_4\)). La valeur suivante est une moyenne pondérée,
$$y_{i+1} = y_i + \frac{h}{6}\left(k_1 + 2k_2 + 2k_3 + k_4\right)$$où
$$\left\{ \begin{aligned} F(x,y) &= F(x,y),\quad y(x_0)=y_0 \\ h &= \dfrac{x_n - x_0}{n} \\ k_1 &= F(x_i,\,y_i) \\ k_2 &= F\!\left(x_i + \tfrac{h}{2},\, y_i + \tfrac{h}{2}k_1\right) \\ k_3 &= F\!\left(x_i + \tfrac{h}{2},\, y_i + \tfrac{h}{2}k_2\right) \\ k_4 &= F\!\left(x_i + h,\, y_i + h\,k_3\right) \end{aligned} \right.$$Ce procédé élimine les termes d'erreur jusqu'au quatrième ordre, ce qui donne une erreur de troncature locale en \(O(h^5)\) et une erreur globale en \(O(h^4)\).
Exemple résolu
Résolvons \(y' = 1 - y^2\) avec \(x_0 = 0\), \(y_0 = 0\), \(x_n = 1\) et \(n = 10\) (\(h = 0{,}1\)). La solution exacte est \(y = \tanh(x)\). Le premier pas RK4 donne \(y_1 = 0{,}0996679\), ce qui correspond à \(\tanh(0{,}1) = 0{,}0996680\). Au terme des dix pas, \(y(1) = 0{,}7615942\), soit la valeur de \(\tanh(1) = 0{,}7615942\) à sept décimales près.
Questions fréquentes
Pourquoi RK4 est-elle préférable à la méthode d'Euler ? La méthode d'Euler n'utilise qu'une seule pente par pas (erreur en \(O(h)\)). RK4 en utilise quatre et les moyenne, atteignant une précision en \(O(h^4)\) pour un même pas : il faut donc bien moins d'itérations pour une précision donnée.
Combien de pas faut-il choisir ? Commencez par 50. Si la solution est régulière, c'est généralement amplement suffisant ; pour des problèmes à variation rapide ou proches du caractère raide (« stiff »), montez à 100, 200 ou 500.
Que faire si j'obtiens NaN ou l'infini ? La solution a peut-être divergé, ou \(F(x,y)\) a rencontré une opération invalide (logarithme d'un nombre négatif, division par zéro, etc.). Vérifiez votre expression et essayez un intervalle plus court ou davantage de pas.