Page précédente  Outils numériques de base Page suivante

LA RÉSOLUTION D'ÉQUATIONS DIFFÉRENTIELLES

Dans un certain nombre de cas, l'application des relations fondamentales de la physique conduit à des équations différentielles qui, soit n'ont pas de solution analytique, soit sont rencontrées dans le cours de physique avant d'avoir été réellement traitées en mathématiques.

Une méthode numérique permet alors d'obtenir une solution point par point qui pourra être comparée aux données expérimentales.

 Méthode du premier ordre

Soit l'équation différentielle du premier ordre sur une fonction (inconnue) y(t) :

y' = dy/dt = f(t, y)

La résolution numérique consiste à calculer l'ensemble des valeurs prises par y à des dates successives :

to = 0, ..... , ti , ti+1 , .... (intervalle constant dt)

Si l'intervalle dt est suffisamment petit, on peut écrire :

yi+1 @yi + y'i*dt               avec               y'i = f(ti, yi)

On voit ainsi que si yi est connu, alors yi+1 est calculable et qu'il suffit de donner une condition initiale : yo.

Pour une équation du second ordre, le même principe peut être utilisé. L'équation est du type :

y" = d²y/dt² = f(t, y, y' )

D'où l'on déduit :

yi+1 @ yi + y'i* dt 
y'i+1 @ y'i + y"i* dt       avec     y"i = f(yi, y'i)

Il faut donc bien deux conditions initiales (yo et y'o) pour démarrer la résolution.

Cette méthode très simple peut être mise en œuvre sur un tableur. Elle est très instructive, mais n'est évidemment pas performante : les approximations successives entraînent rapidement une divergence des valeurs calculées.

Plusieurs méthodes peuvent être utilisées pour améliorer le calcul : la méthode de Feynman et celle, régulièrement utilisée, dite de Runge-Kutta.

 Méthode de Feynman (équation du second ordre)

Elle consiste à utiliser l'estimation de la dérivée en i sur un intervalle double (i+1, i-1). Cela conduit à un calcul au second ordre :

y"i = f(yi, y'i
y'i+1 = yi-1 + 2*y"i*dt   
yi+1= yi-1 + 2y'i*dt

L'inconvénient, on le voit sur ces formules, est de nécessiter la connaissance, non seulement des conditions initiales classiques, mais également des valeurs correspondantes au point t1 : y1 et y'1. On doit alors utiliser un autre moyen pour les obtenir : autre mesure, calcul par développement de Taylor ou estimation au premier ordre.

 Méthode de Runge-Kutta (cas d'une équation du premier ordre)

La même idée, mais poussée plus loin, permet encore d'améliorer le calcul. D'une part on obtient une expression polynomiale ne faisant intervenir que la fonction, et d'autre part, elle ne nécessite que la connaissance des conditions initiales à t = 0. Pour une équation du premier ordre la méthode est la suivante :

y' = dy/dt = f(t, y)

yi+1 = yi + 1/6(k0 + 2k1 + 2k2 + k3)

avec :

h = dt
k0 = h*f(ti, yi)
k1 = h*f(ti + h/2, yi + k0/2)
k2 = h*f(ti + h/2, yi + k1/2)
k3 = h*f(ti + h, yi + k2)

Une méthode équivalente existe pour les équations du second ordre, puisqu’on peut se ramener à deux équations différentielles du premier ordre en posant :

dy/dt = u
du/dt = f(t,y,u)

Les expressions correspondantes de la résolution numérique font donc intervenir deux jeux de paramètres :

ui+1 = ui + 1/6(k0 + 2k1 + 2k2 + k3)
yi+1 = yi + 1/6(l0 + 2l1 + 2l2 + l3)

On trouvera le détail du calcul de ki et li dans les nombreux ouvrages qui abordent ces techniques. Les exemples classiques sont l'oscillateur linéaire amorti, le pendule simple pesant et le circuit RLC. L'utilisation d'une méthode numérique permet alors d'obtenir le comportement théorique sans avoir à faire d'approximation rédhibitoire.

Haut de page

INRP - Tecne -Site mis à jour le 05.06.2003

Recherche terminée en février 2000