Equations différentielles ordinaires du premier ordre

 

On cherche une fonction y telle que u'(t) = f(u(t),t) et u(0) = u0

L'étude de l'existence et de l'unicité de solutions à ce problème est délicate. Le théorème de Cauchy-Lipschitz dit que s'il existe un réel k tel que, pour tous x, y et t,

|f(x,t)-f(y,t)| =< k.|x-y|

alors il existe une solution globale unique.

Euler

Le schéma d'Euler progressif (explicite) est obtenu en écrivant

(un+1-un) / (tn+1-tn) = f (un,tn)

Le schéma d'Euler rétrograde (implicite) correspond à : (un+1-un) / (tn+1-tn) = f (un+1,tn+1).

Taylor

Les méthodes de Taylor constituent une généralisation de la méthode d'Euler en s'appuyant sur des développements (... de Taylor) d'ordre plus élevé. On a

u(tn+1) = u(tn) + u'(tn)h + u''(tn)h2/2 + O(h3)

soit

u(tn+1) = u(tn) + f(u(tn), tn) h + f'(u(tn), tn) h2/2 + O(h3)

La dérivation en chaîne permet d'écrire

f'(u(t), t) = f,t(u(t),t) + f,u(u(t),t) u'(t)

soit

f'(u(t),t) = f,t(u(t),t) + f,u(u(t),t) f(u(t),t)

On a donc :

u(tn+1) = u(tn) + h f(u(tn), tn) + h2/2 [f,t(u(t),t) + f,u(u(t),t) f(u(t),t)] + O(h3)

itération qui constitue le coeur des méthodes de Taylor mais qui nécessite évidemment le calcul des dérivées partielles de f.

Runge-Kutta d'ordre 2

L'objectif principal des méthodes de Runge-Kutta est de s'affranchir des calculs de dérivées introduits précédemment, tout en conservant le même ordre de précision. On remplace donc l'itération précédente par

u(tn+1) = u(tn) + a1hnf(u(tn), tn) + a2hnf(u(tn)+a3hn, tn+a4hn)

Pour déterminer les paramètres a1, a2, a3 et a4, on recourt au développement de Taylor en deux variables. On obtient alors un système non-linéaire sous-déterminé, ce qui permet de disposer de plusieurs possibilités, donc de plusieurs variantes de méthodes de RK.

A l'ordre 2, on aboutit au même résultat en remarquant qu'en intégrant la première équation du problème de Cauchy entre deux instants tn et tn+1, on obtient :

u(tn+1) - u(tn) = Int (tn=>tn+1) f(u(t),t).dt

En utilisant la méthode des trapèzes, on a alors

un+1 - un = hn/2 (f (un,tn)+f (un+1,tn+1))

où hn = tn+1 - tn.

Cette expression est implicite, mais on peut s'en affranchir en remplaçant un+1 dans le membre de droite par un+1 = un + hn.f (un,tn). On peut ainsi écrire la méthode de Heun, ou méthode d'Euler modifiée, qui fait partie des méthodes de RK2 explicites :

ou encore

qui est en fait une méthode de type prédiction-correction, dont la première étape correspond à une simple itération d'Euler.

Une variante est celle dite du point milieu qui se décompose en :

Runge-Kutta d'ordre 4

 

Equations différentielles ordinaires d'ordre supérieur ou égal à 2

 

On peut ramener une e.d.o. du second ordre à un système du premier ordre par introduction de nouvelles inconnues. Ainsi, une edo de la forme u''(t) = f (u(t),u'(t),t) peut se réécrire en posant u'(t) = v(t) et v'(t) = f (u(t),v(t),t). Mais il existe également des méthodes adaptées aux e.d.o du deuxième ordre.
 

Les méthodes présentées ci-dessus sont dites à un pas, puisque l'on y exprime un+1 à partir de un. Les méthodes multipas utilisent les un, un-1, un-2, etc ...

Suite à viendre ...