Résolution numérique des équations différentielles – Maths BTS
Retour aux cours
Calcul et Analyse Numérique

Résolution numérique des équations différentielles

La résolution numérique des équations différentielles consiste à utiliser des méthodes algorithmiques pour approcher les solutions d’équations différentielles lorsque les solutions analytiques sont difficiles ou impossibles à obtenir. Des méthodes comme Euler ou Runge-Kutta permettent de calculer approximativement l’évolution d’un système. La vidéo YouTube en présente un exemple de résolution avec Python.

Résolution numérique des équations différentielles


1. Aspects théoriques


On considère \(y'(t)=f(t,y(t))\) avec \(f:I\times\Omega\to\mathbb{R}^d\). Une solution est un couple \((y,J)\) avec \(J\subset I\) intervalle, \(y:J\to\Omega\) dérivable.

Cauchy-Lipschitz

Si \(f\) est continue et localement lipschitzienne en \(y\), pour tout \((t_0,y_0)\) il existe une unique solution maximale \((y,]T_-,T_+[)\). Si \(T_+\) inférieur à \(\sup I\) alors \(y(t)\) sort de tout compact (explosion si \(\Omega=\mathbb{R}^d\)).

Cas linéaire

\(y'=A(t)y+B(t)\) avec \(A,B\) continues sur \(I\). Alors le problème de Cauchy admet une unique solution globale sur \(I\).

Lemme de Gronwall (continu)

Soient \(\phi,\psi\ge0\) et \(\phi(t)\le\alpha+\int_a^t\psi(s)\phi(s)\,ds\) pour \(t\ge a\). Alors \(\phi(t)\le\alpha\exp\bigl(\int_a^t\psi(s)\,ds\bigr)\).

2. Schéma d’Euler explicite


Discrétisation uniforme \(t_n=t_0+nh\), \(h=T/N\) :
\[
y_{n+1}=y_n+hf(t_n,y_n),\qquad y_0=y(t_0).
\]
Erreur de consistance : \(\epsilon_n=y(t_{n+1})-y(t_n)-hf(t_n,y(t_n))\). Si \(f\in C^1\) alors \(\|\epsilon_n\|\le\frac{h^2}{2}\sup\|y''\|\).
Stabilité : \(\|y_n-\tilde y_n\|\le e^{LT}\|y_0-\tilde y_0\|\) (car \(f\) est \(L\)-lipschitzienne).
Convergence : \(\|e_n\|\le h\,\frac{e^{LT}-1}{2L}\sup\|y''\|\) → ordre 1.

3. Méthodes à un pas


Forme générale : \(y_{n+1}=y_n+h\Phi(t_n,y_n,h)\).
Exemples :

  • Euler : \(\Phi=f\).

  • Taylor d’ordre 2 : \(\Phi=f+\frac{h}{2}\bigl(\frac{\partial f}{\partial t}+\frac{\partial f}{\partial y}f\bigr)\).

  • Point milieu : \(\Phi=f\bigl(t+\frac{h}{2},y+\frac{h}{2}f(t,y)\bigr)\).



Consistance : schéma consistant ssi \(\Phi(t,y,0)=f(t,y)\).

Stabilité : si \(\Phi\) est globalement lipschitzienne en \(y\) (constante \(\Lambda\)), alors stable avec constante \(S=e^{\Lambda T}\).

Convergence : consistant + stable ⇒ convergent.

Ordre : on dit qu’un schéma est d’ordre \(p\) si pour toute solution \(y\) on a \(\|\epsilon_n\|\le C h^{p+1}\). Alors \(\sup_n\|y(t_n)-y_n\|=O(h^p)\).

Caractérisation : définissons \(f^{[0]}=f\), \(f^{[k+1]}=\frac{\partial f^{[k]}}{\partial t}+\frac{\partial f^{[k]}}{\partial y}\,f\). Alors la méthode est d’ordre \(p\) ssi
\[
\frac{\partial^k\Phi}{\partial h^k}(t,y,0)=\frac{1}{k+1}f^{[k]}(t,y),\]
\(0\le k\le p-1.\)

4. Méthodes de Runge‑Kutta


Principe : on utilise des quadratures pour approcher \(\int_{t_n}^{t_{n+1}}f(s,y(s))\,ds\). On introduit des points intermédiaires \(t_{n,i}=t_n+c_ih\) et des approximations \(y_{n,i}\) :
\[
y_{n,i}=y_n+h\sum_{j=1}^q a_{i,j}f(t_{n,j},y_{n,j}),
\]
\[
y_{n+1}=y_n+h\sum_{i=1}^q b_i f(t_{n,i},y_{n,i}).
\]
Le tableau de Butcher résume les coefficients \((a_{i,j},b_i,c_i)\). On parle de méthode RK explicite si \(a_{i,j}=0\) pour \(j\ge i\) (triangulaire stricte).

Consistance : \(\sum b_i=1\).

Ordre 2 (pour \(f\in C^2\)) : conditions
\[
\sum b_i=1,\quad \sum b_i c_i=\frac12,\]
\[
\sum_{i,j} b_i a_{i,j}=\frac12.
\]
RK2 (famille à deux étages) : avec \(c_1=0\), \(a_{2,1}=c_2\), \(b_1=1-\alpha\), \(b_2=\alpha\), \(c_2=1/(2\alpha)\). Cas particuliers :

  • \(\alpha=1\) : méthode du point milieu.

  • \(\alpha=1/2\) : méthode de Heun (trapèzes).



RK4 classique : tableau
\[
\begin{array}{c|cccc}
0 & 0 & 0 & 0 & 0\\
1/2 & 1/2 & 0 & 0 & 0\\
1/2 & 0 & 1/2 & 0 & 0\\
1 & 0 & 0 & 1 & 0\\
\hline
& 1/6 & 2/6 & 2/6 & 1/6
\end{array}
\]
Soit
\[
\begin{aligned}
k_1 &= f(t_n,y_n),\\
k_2 &= f(t_n+\tfrac{h}{2},y_n+\tfrac{h}{2}k_1),\\
k_3 &= f(t_n+\tfrac{h}{2},y_n+\tfrac{h}{2}k_2),\\
k_4 &= f(t_n+h,y_n+hk_3),\\
y_{n+1}&=y_n+\tfrac{h}{6}(k_1+2k_2+2k_3+k_4).
\end{aligned}
\]
C’est une méthode d’ordre 4.
Pour plus de détails, consulter le PDF ci-joint.
Discuter sur le forum
Lien copié !