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, puisquon
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.
|