La méthode d'Euler, à la main puis en Python
Exercice de TD · niveau 3 (difficile) · mathématiques complémentaires (terminale), chapitre 6 — Primitives et équations différentielles
Énoncé
La méthode d'Euler, à la main puis en Python.
On reprend la perfusion continue étudiée plus haut : avec .
- Écrire la relation de récurrence donnée par la méthode d'Euler de pas , puis calculer à la main.
- Comparer à la valeur exacte .
- Écrire en Python le calcul pour ; ; et , et commenter.
Corrigé
- Récurrence. Avec et :
On reconnaît une suite arithmético-géométrique — celles du chapitre 1. Partant de :
- Comparaison. La valeur exacte est mg/L. Euler surestime de mg/L, soit environ . Ce n'est pas un hasard : la courbe est creusée vers le bas, donc chaque tangente passe au-dessus d'elle.
- En Python.
def euler(f, t0, y0, h, n):
t, y = t0, y0
for _ in range(n):
y = y + h * f(t, y)
t = t + h
return y
from math import exp
perfusion = lambda t, y: -0.2 * y + 4
for h in (1, 0.5, 0.1, 0.01):
print(h, round(euler(perfusion, 0, 0, h, round(5 / h)), 4))
# 1 -> 13.4464
# 0.5 -> 13.0264
# 0.1 -> 12.7166
# 0.01 -> 12.6498
print(round(20 * (1 - exp(-1)), 4)) # exact : 12.6424
À chaque division du pas par , l'écart est divisé par environ ( ; ; ; ). C'est le comportement caractéristique de la méthode d'Euler : elle est lente, mais elle converge, et surtout elle ne demande jamais de savoir résoudre.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.