Balayage ou dichotomie ?
Exercice de TD · niveau 3 (difficile) · mathématiques complémentaires (terminale), chapitre 11 — Thème 1 — Modèles définis par une fonction d'une variable
Énoncé
Balayage ou dichotomie ?
Le nombre hebdomadaire de consultations pour syndrome grippal, dans une ville, est modélisé sur par
Le seuil d'alerte est fixé à consultations par semaine.
- Dresser le tableau de variation de et donner le pic en valeur exacte.
- Justifier que l'équation a exactement deux solutions.
- Les encadrer par balayage au pas , puis affiner par dichotomie.
- Combien de temps l'alerte dure-t-elle ? Comparer le coût des deux algorithmes pour une précision de .
Corrigé
- Tableau. C'est un produit :
du signe de .
Le pic vaut exactement consultations, à la quatrième semaine.
- Deux solutions. Sur , est continue et strictement croissante de à : comme est compris entre ces deux valeurs, le théorème des valeurs intermédiaires (admis) en donne une, et une seule. Sur , décroît de à : encore une seule. Total : deux.
- Encadrements. Le balayage au pas donne et sur la branche croissante ; et sur la branche décroissante. La dichotomie, lancée sur puis sur , donne en dix étapes
- Durée et coût. L'alerte dure semaines, soit environ jours. Pour une précision de , le balayage depuis demanderait tours de boucle ; la dichotomie, dix, puisque . Mais la dichotomie a besoin d'un intervalle de départ où la fonction est monotone et change de côté : c'est le balayage — ou le tableau de variation — qui le lui fournit.
from math import exp
i = lambda t: 300 * t * exp(-0.25 * t)
def dichotomie(f, a, b, k, precision):
while b - a > precision:
m = (a + b) / 2
if (f(a) - k) * (f(m) - k) <= 0:
b = m
else:
a = m
return a, b
print([round(v, 3) for v in dichotomie(i, 2, 3, 400, 0.001)]) # [2.476, 2.477]
print([round(v, 3) for v in dichotomie(i, 6, 7, 400, 0.001)]) # [6.048, 6.049]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.