Problèmes différentiels

La plupart des modèles différentiels se présentent sous la forme suivante :

$\displaystyle y^{(d)}(t)= g(t,y(t),y'(t),\ldots,y^{(d-1)}(t))\;.$ (1)

L'entier $ d$ est l'ordre de l'équation. La fonction inconnue $ y$ est une fonction de $ \mathbb{R}$ dans $ \mathbb{R}^k$, de même que ses dérivées successives $ y',\ldots,y^{(d)}$. La fonction $ g$ est une fonction de $ d+1$ variables. La variable $ t$ est réelle, et représente le temps. Les variables suivantes peuvent être vectorielles. Le problème consiste à trouver un intervalle ouvert $ I$ de $ \mathbb{R}$ et une fonction $ y :\;I\longrightarrow\mathbb{R}^k$, dérivable jusqu'à l'ordre $ d$ et vérifiant (1) pour tout $ t\in I$. Trois types de questions se posent.
  1. Questions théoriques : à quelle(s) condition(s) portant sur la fonction $ g$ l'équation (1) admet-elle des solutions ? Sur quel(s) intervalle(s) de $ \mathbb{R}$ ces solutions sont-elles définies ? Existe-t-il une solution unique vérifiant des conditions données ?

    Nous n'aborderons pas ces questions théoriques, qui dépassent le niveau de ce cours. Toutes les équations différentielles qui seront traitées ont des solutions, et nous le vérifierons au cas par cas.

  2. Résolution formelle : est-il possible d'exprimer les solutions de (1) comme combinaisons de fonctions classiques ?

    Il existe de très nombreuses méthodes de résolution formelle des équations différentielles, adaptées chacune à un type particulier d'équation. Elles sont implémentées dans les logiciels de calcul formel comme Xcas. Le but de ce chapitre est de présenter certaines des plus simples de ces méthodes.

  3. Résolution numérique : est-il possible de calculer par ordinateur des approximations numériques des solutions de (1) ? Quelle précision par rapport aux solutions théoriques une méthode donnée permet-elle d'atteindre ?

    Les problèmes différentiels rencontrés dans les applications n'ont que rarement une solution formelle explicite. De plus la résolution explicite, qu'elle produise une solution comme combinaison de fonctions classiques, sous forme de série entière ou de transformée de Laplace inverse, ne fait que déplacer le problème de l'évaluation numérique. Considérons par exemple $ y'(t)=y(t)$. La solution est immédiate, c'est $ y(t)=\mathrm{e}^ty(0)$. Mais s'il doit calculer $ \mathrm{e}^t$ pour $ t=2.53$, l'ordinateur utilisera un algorithme d'approximation polynomiale. Les fonctions classiques peuvent être définies comme des sommes de séries (exponentielle), des intégrales (fonction Gamma), ou même des solutions de certaines équations différentielles (fonctions de Bessel). Dans ce dernier cas c'est précisément parce que des équations couramment rencontrées n'avaient pas de solution explicite que l'on a été amené à baptiser leurs solutions. Pour un ordinateur, toute fonction, qu'elle soit «explicite»  ou non, correspond in fine à un algorithme de calcul approché : approximation polynomiale, intégration numérique, ou même résolution numérique d'équation différentielle. Les méthodes d'approximation numérique ont donc une portée beaucoup plus générale que les méthodes formelles, mais nous ne les aborderons pas.

Une équation sous la forme (1) est dite homogène en temps si son expression ne dépend pas de la première variable $ t$ :

$\displaystyle y^{(d)}(t)= g(y(t),y'(t),\ldots,y^{(d-1)}(t))\;.
$

Pour rendre une équation homogène en temps, il suffit de considérer le temps $ t$ comme une inconnue fictive, en posant $ z(t)=(t,y(t))$. On a alors :

$\displaystyle z'(t)=(1,y'(t)) ,\; z''(t)=(0,y''(t)) ,\ldots,\;
z^{(d)}(t)=(0,y^{(d)}(t))\;.
$

Typiquement un modèle est homogène en temps quand le choix de l'origine n'intervient pas dans les hypothèses de modélisation. Si $ y(t)$ est solution d'une équation homogène en temps, avec $ y(t_0)=x$, alors l'application $ z$ qui à $ t$ associe $ y(t_0+t)$ est solution de la même équation différentielle, avec $ z(0)=x$. Dans un modèle homogène en temps, on peut toujours choisir 0 comme instant initial, et considérer sans perte de généralité que la condition initiale est donnée en $ t=0$.

Toujours au prix d'une augmentation de la dimension, on peut ramener une équation d'ordre $ d$ à une équation d'ordre $ 1$. Il suffit pour cela de poser :

$\displaystyle y_0(t) = y(t) ,\; y_1(t) = y'(t) ,\ldots,\;
y_{d-1}(t)= y^{(d-1)}(t)\;.
$

Avec ces notations, $ y$ est solution de (1) si et seulement si les fonctions $ y_i$ pour $ 0\le i\le d-1$ sont une solution du système suivant :

\begin{displaymath}
\left\{
\begin{array}{lcl}
y'_0(t) &=& y_1(t)\\
y'_1(t) &=&...
...=&g(t,y_0(t),y_1(t),\ldots,y_{(d-1)}(t))\;.
\end{array}\right.
\end{displaymath}

En d'autres termes, le vecteur $ Y(t)$, de coordonnées $ y_i(t)$ pour $ 0\le i\le d-1$ est solution de $ Y'(t)=G(t,Y(t))$, avec :

$\displaystyle G(t,y_0,\ldots,y_{d-2},y_{d-1})=
\Big(y_1,\ldots,y_{d-1},g(t,y_0(t),\ldots,y_{(d-1)}(t))\Big)\;.
$

Considérons par exemple l'équation d'ordre $ 2$ suivante :

$\displaystyle y''(t) = y'(t)+y(t)+t\;.
$

La fonction vectorielle $ Y$ définie par $ Y(t) = (t,y(t),y'(t))$ est solution de l'équation d'ordre $ 1$ homogène en temps $ Y'(t)=G(Y(t))$, avec :

$\displaystyle G(s,y_1,y_2) = (1,y_2,y_2+y_1+s)\;.
$

On peut ainsi transformer toute équation explicite en une équation d'ordre $ 1$ homogène en temps. Ceci présente de nombreux avantages, théoriques et pratiques.

Considérons une équation différentielle d'ordre $ 1$ dans $ \mathbb{R}^d$, homogène en temps :

$\displaystyle Y'(t) = G(Y(t))\;.
$

Toute solution $ Y(t)$ définit une courbe dans $ \mathbb{R}^d$, paramétrée par $ t$. On peut voir cette courbe comme la trajectoire d'un mobile. Le vecteur $ Y'(t)$ est le vecteur vitesse de ce mouvement et il est tangent à la courbe. L'application $ G$, de $ \mathbb{R}^d$ dans $ \mathbb{R}^d$, peut être vue comme un champ de vecteurs dans l'espace. C'est le champ de tous les vecteurs vitesse possibles pour les trajectoires solution de $ Y'=G(Y)$. Nous donnons ci-dessous deux exemples d'équations différentielles dans $ \mathbb{R}^2$, avec une représentation discrétisée du champ des vecteurs tangents, et quelques trajectoires de solutions de l'équation différentielle.

Exemple 1 (figure 1) :

\begin{displaymath}
\left\{
\begin{array}{lcl}
x'(t)&=&-x(t)-2y(t)/\log(x(t)^2+y...
...'(t) &=& -y(t)+2x(t)/\log(x(t)^2+y(t)^2)\;.
\end{array}\right.
\end{displaymath}

Figure 1: Représentation graphique d'un système d'équations différentielles dans $ \mathbb{R}^2$ (exemple 1).
\includegraphics[width=7cm]{champxy2}

Exemple 2 (figure 2) :

\begin{displaymath}
\left\{
\begin{array}{lcl}
x'(t)&=&-x(t)^2-y(t)\\
y'(t) &=& -x(t)+y(t)^2\;.
\end{array}\right.
\end{displaymath}

Figure 2: Représentation graphique d'un système d'équations différentielles dans $ \mathbb{R}^2$ (exemple 2).
\includegraphics[width=7cm]{champxy3}

Nous allons chercher à résoudre certaines équations d'ordre $ 1$, dont les fonctions inconnues seront des fonctions de $ \mathbb{R}$ dans $ \mathbb{R}$.

$\displaystyle y'(t)=g(t,y(t))\;,
$

$ g$ est une fonction de $ \mathbb{R}^2$ dans $ \mathbb{R}$. Pour une telle équation, on visualise par leurs graphes dans $ \mathbb{R}^2$ les fonctions solutions ($ t$ en abscisse, $ y(t)$ en ordonnée). Supposons qu'au point $ (t,y)$ passe une solution. La dérivée de cette solution est $ y'(t)=g(t,y(t))$ : le vecteur $ Y'(t)=(1,g(t,y(t)))$ est tangent à la courbe représentant la solution, au point $ (t,y(t))$. Voici deux exemples.

Exemple 3 (figure 3) :

$\displaystyle y'(t) =2y(t)-(y(t))^2\;.$

Figure 3: Représentation graphique d'une équation différentielle dans $ \mathbb{R}$ (exemple 3).
\includegraphics[width=7cm]{champty3}

Exemple 4 (figure 4) :

$\displaystyle y'(t) = (2+\cos(t))y(t)-\frac{1}{2} y(t)^2 -1\;.$

Figure 4: Représentation graphique d'une équation différentielle dans $ \mathbb{R}$ (exemple 4).
\includegraphics[width=7cm]{champty4}

         © UJF Grenoble, 2011                              Mentions légales