Aller au contenu

Méthode d'Euler explicite

Pour décrire un processus d'évolution, ou le profil d'une ligne d'eau, par exemple, on est souvent amené à résoudre une équation différentielle ordinaire (EDO) du premier ordre. Cette équation écrit comment varie une fonction, en un point donné (un instant ou un point de l'espace), connaissant la valeur de cette fonction mathématique, le problème à résoudre s'écrit:

{dydt=f(y,t)y(t=t0)=y0

dydt désigne la dérivée par rapport à t de la fonction y (qui dépend de la variable t); la variable y0 est appelée la condition à la limite; elle conditionne la solution finale de l'équation.

Comme souvent on ne connait pas de solution analytique de ce problème, on va utiliser des méthodes approchées pour estimer la solution. On fait donc une discrétisation de la variable t. On note ainsi Δt le pas de discrétisation, et on résout le problème aux points t0, t1=t0+Δt, t2=t0+2Δt, ..., tn=t0+nΔtn est un entier.

La méthode d'Euler explicite est la plus intuitive; elle consiste à considérer que, d'un point ti au point ti+1, la fonction évolue linéairement, avec une trajectoire qui est celle qu'on peut calculer au point ti.

Le problème se résout donc de la façon suivante:

  • on connait la fonction f, un point ti où on connait yi
  • on peut donc calculer yi=f(y,t)
  • on estime alors la valeur de y au point ti+1=ti+Δt : yi+1yi+yiΔt
  • on peut alors itérer (résoudre pas à pas) pour passer au point suivant. Le problème est initialisé en partant de t0 où on connait y0 (condition à la limite).

On sent bien que ce schéma pourra donner de bons résultats uniquement si Δt n'est pas trop grand. Des valeurs de Δt trop grandes peuvent donner des résultats complètement faux, conduisant à des interprétations physiques erronées. Son intérêt est toutefois sa simplicité, et il s'implémente facilement sur un tableau.

Exemple d'application: processus exponentiel

Considérons le problème (simple) suivant:

On a donc ici f(y,t)=ay. La solution analytique se résout facilement, donnant y(t)=y0exp(a(tt0)). On peut résoudre le problème par la méthode d'Euler:

  • on choisit Δt (par exemple, Δt=1)
  • calculer y1=y0ay0Δt
  • calculer y2=y1ay1Δt etc.

On constate que la résolution n'est pas très précise; ceci est lié au pas de calcul trop grand compte tenu de la méthode choisie et de l'équation à résoudre.