Méthode d'Euler et applications

Équations différentielles — Terminale Spécialité

Méthode d'Euler et applications

1. Idée intuitive de la méthode d'Euler

Idée de la méthode d'Euler : La méthode d'Euler est une méthode numérique qui approche la solution d'une équation différentielle y' = f(x, y) avec condition initiale y(x_0) = y_0, en utilisant l'approximation affine locale :

[formule]

valable pour h « petit ». On remplace la courbe par sa tangente sur de petits intervalles successifs.

Pourquoi est-ce utile ? : Pour la plupart des équations différentielles, on ne sait pas trouver une formule explicite pour la solution. La méthode d'Euler permet d'obtenir une valeur approchée de la solution en n'importe quel point.

Pour les équations y' = ay et y' = ay + b étudiées en Tle, on connaît la solution exacte : Euler sert alors à comparer valeurs approchées et valeurs exactes, et à comprendre la qualité de l'approximation.


2. Algorithme

Algorithme d'Euler pour y' = f(x, y) avec y(x_0) = y_0 : Données : f, x_0, y_0, un pas h > 0 (petit), un nombre d'itérations n.

On calcule la suite :

  • x_0, y_0 donnés
  • Pour k allant de 0 à n - 1 :
    • y_{k+1} = y_k + h f(x_k, y_k)
    • x_{k+1} = x_k + h

À la fin, y_k est une valeur approchée de y(x_k).

Plus h est petit, plus l'approximation est précise (mais plus le calcul est long).

Algorithme Python pour y' = ay :

def euler_ay(a, y0, h, n):
    """Approche la solution de y' = a*y avec y(0) = y0.
    Retourne deux listes : les abscisses x et les ordonnées y."""
    X = [0]
    Y = [y0]
    for k in range(n):
        y_suivant = Y[k] + h * a * Y[k]
        X.append(X[k] + h)
        Y.append(y_suivant)
    return X, Y

# Exemple : y' = 0,5 y avec y(0) = 1, sur [0, 2], pas h = 0,1
X, Y = euler_ay(0.5, 1, 0.1, 20)
print(Y[-1])  # ≈ 2.65 (valeur exacte : e^1 ≈ 2.718)

3. Exemple détaillé à la main

Euler sur y' = 2y avec y(0) = 1, pas h = 0{,}5 : Itérations :

k x_k y_k y'_k = 2 y_k y_{k+1} = y_k + 0{,}5 y'_k
0 0 1 2 1 + 0{,}5 2 = 2
1 0,5 2 4 2 + 0{,}5 4 = 4
2 1 4 8 4 + 0{,}5 8 = 8
3 1,5 8

Comparaison avec la solution exacte y(x) = e^{2x} :

  • y(0{,}5) = e^{1} 2{,}72 — Euler donne 2 (erreur ≈ 0{,}72).
  • y(1) = e^{2} 7{,}39 — Euler donne 4 (erreur ≈ 3{,}39).
  • y(1{,}5) = e^{3} 20{,}1 — Euler donne 8 (erreur ≈ 12{,}1).

Avec h = 0{,}5, l'erreur est importante et augmente avec x. Avec h = 0{,}1 ou h = 0{,}01, l'approximation devient bien meilleure.

Limites de la méthode :

  • L'erreur s'accumule à chaque itération : plus on est loin de x_0, plus l'erreur est grande.
  • Pour des a > 0 (croissance exponentielle), la méthode tend à sous-estimer la vraie valeur.
  • Pour des a < 0 (décroissance), elle peut osciller si h est trop grand.

En pratique : prendre h d'autant plus petit que |a| est grand.


4. Application : modèle de Verhulst (modèle logistique)

Modèle de population avec capacité limitée : Le modèle de Verhulst modélise une population P(t) avec une capacité maximale K (« capacité d'accueil » du milieu) :

[formule]

où r > 0 est le taux de croissance intrinsèque.

Cette équation n'est pas de la forme y' = ay + b (le second membre dépend de P^2), donc on ne sait pas la résoudre par les techniques de ce chapitre.

Mais on peut l'approcher avec Euler ! Avec r = 0{,}5, K = 100, P(0) = 10, h = 0{,}5 sur [0; 20], on obtient une courbe en S :

  • Croissance quasi-exponentielle au début (P K).
  • Inflexion à P = K/2 = 50.
  • Asymptote horizontale P K = 100.

C'est typique de la dynamique des populations en biologie.


5. Synthèse : 3 applications classiques

Modèles physiques classiques :

Phénomène Équation Forme Solution
Désintégration radioactive N' = -,N y' = ay avec a = - < 0 N(t) = N_0,e^{- t}
Refroidissement de Newton T' = -k(T - T_a) y' = ay + b avec a = -k, b = kT_a T(t) = T_a + (T_0 - T_a)e^{-kt}
Charge d'un condensateur u' = 1{RC}(E - u) y' = ay + b avec a = -1{RC} u(t) = E + (u_0 - E)e^{-t/(RC)}

Charge d'un condensateur RC : Un condensateur de capacité C se charge à travers une résistance R sous une tension E. La tension aux bornes du condensateur u(t) vérifie :

[formule]

En divisant par RC : u'(t) = -1{RC}u(t) + E{RC}.

Avec u(0) = 0 :

[formule]

La tension tend vers E avec une constante de temps = RC. À t = : u() 0{,}63,E. À t = 5 : u(5) 0{,}993,E (charge quasi complète).


À retenir

Résumé :

  1. La méthode d'Euler approche y(x + h) par y(x) + h,y'(x) (approximation affine).

  2. Algorithme : y_{k+1} = y_k + h f(x_k, y_k), x_{k+1} = x_k + h.

  3. Plus h est petit, plus c'est précis — mais aussi plus lent et l'erreur s'accumule.

  4. Utile quand on ne sait pas résoudre l'équation explicitement (ex. modèle logistique de Verhulst).

  5. 3 modèles classiques à connaître : radioactivité (y' = ay), refroidissement et charge condensateur (y' = ay + b).