🔢Méthodes numériques : Newton et dichotomie
Cours de mathématiques · Terminale
Résoudre une équation de façon approchée : par dichotomie (on coupe en deux un intervalle qui encadre la solution) et par la méthode de Newton (). On impose le nombre d'itérations et on arrondit le résultat pour des tests fiables.
Ce que tu vas savoir faire
- ✓Comprendre le principe d'encadrement d'une racine par dichotomie.
- ✓Programmer la dichotomie avec un nombre d'itérations imposé.
- ✓Programmer la méthode de Newton à partir de f et de sa dérivée f'.
- ✓Renvoyer un résultat arrondi (round) pour obtenir une valeur déterministe.
- ✓Prévoir ce que renvoie un programme d'approximation après quelques itérations.
Le principe : approcher une solution de f(x) = 0
Beaucoup d'équations n'ont pas de solution exacte simple (par exemple , ou ). On en cherche alors une valeur approchée avec un algorithme.
Idée clé (théorème des valeurs intermédiaires) : si est continue et que et sont de signes contraires, alors il existe une solution entre et . On va resserrer cet encadrement.
On exécutera un nombre d'itérations fixé et on renverra une valeur arrondie avec round(x, k) : ainsi le résultat est toujours le même, ce qui rend les tests fiables.
⭐ Pour les curieux — pourquoi ça marche ? Imagine que tu traces la courbe de sans lever le crayon (c'est ça, « continue ») entre et . Si , tu démarres sous l'axe des abscisses ; si , tu finis au-dessus. Pour passer du dessous au dessus sans décoller le crayon, tu es bien obligé de traverser l'axe au moins une fois : ce point de traversée, c'est une solution de . C'est tout le théorème des valeurs intermédiaires, et c'est précisément la continuité qui interdit de « sauter » par-dessus l'axe.
Pour repérer un encadrement : calcule f(a) et f(b). Si f(a) * f(b) < 0, les signes sont opposés → une solution est piégée entre a et b.
Pour : et . La solution est bien entre 1 et 2.
round(x, 4) arrondit à 4 décimales : round(1.41421356, 4) donne 1.4142. C'est ce qu'on renvoie pour comparer à une valeur attendue.
La dichotomie (couper en deux)
On part d'un intervalle qui encadre la solution ( et de signes contraires). À chaque étape :
- On calcule le milieu .
- On regarde le signe de pour savoir dans quelle moitié se trouve la solution.
- On remplace ou par : l'intervalle est deux fois plus petit.
def dicho(a, b, n):
for _ in range(n):
m = (a + b) / 2
if (m * m - 2) * (a * a - 2) <= 0: # f(m) et f(a) signes opposés
b = m # la racine est dans [a, m]
else:
a = m # la racine est dans [m, b]
return round((a + b) / 2, 4)Ici . Après n étapes, l'intervalle a été divisé par : on s'approche très vite de la solution.
⭐ Pour les curieux — pourquoi ça marche ? À chaque étape on garde la moitié de l'intervalle où change encore de signe (la racine y reste donc emprisonnée), et cette moitié a exactement la moitié de la largeur précédente. En partant d'une largeur , on obtient , puis , et ainsi de suite : c'est une suite géométrique de raison , donc après étapes la largeur vaut . Ce au dénominateur explose vite : 10 étapes divisent déjà l'intervalle par plus de 1000 (), ce qui garantit qu'on approche la racine d'aussi près qu'on veut.
Pour programmer une dichotomie sur :
- Boucle
for _ in range(n):(nombre d'itérations imposé). - Milieu
m = (a + b) / 2. - Compare les signes :
if f(m) * f(a) <= 0:→ la racine est à gauche, doncb = m; sinona = m. - Renvoie
round((a + b) / 2, k)(le milieu final, meilleure estimation).
Pour sur avec n = 1 : , (même signe que ), donc on garde . Milieu final : round(1.25, 4) = 1.25.
Comparer les signes avec un produit f(m) * f(a) <= 0 évite d'écrire plein de if. Si le produit est négatif ou nul, les signes sont opposés (racine entre a et m).
La méthode de Newton
La méthode de Newton approche une racine de en suivant la tangente à la courbe. À partir d'un point de départ , on itère :
Géométriquement, est l'endroit où la tangente en coupe l'axe des abscisses. Quand ça converge, c'est beaucoup plus rapide que la dichotomie.
def newton(x0, n):
x = x0
for _ in range(n):
x = x - (x * x - 2) / (2 * x) # f(x)=x^2-2, f'(x)=2x
return round(x, 4)Pour , on a . En partant de , on converge vers en très peu d'étapes.
⭐ Pour les curieux — pourquoi ça marche ? La formule de Newton n'est pas magique : elle tombe de l'équation de la tangente, déjà connue en Tle. La tangente à la courbe au point a pour équation . On cherche où cette droite coupe l'axe des abscisses, c'est-à-dire où : on résout , ce qui donne . C'est exactement : on glisse le long de la tangente jusqu'à l'axe, et on recommence. On comprend du coup pourquoi casse tout : une tangente horizontale ne croise jamais l'axe !
Pour programmer Newton :
- Initialise
x = x0. - Boucle
for _ in range(n):. - À chaque tour :
x = x - f(x) / fprime(x)(remplacefetfprimepar leurs expressions). - Renvoie
round(x, k).
Newton pour , départ :
newton(2, 2) renvoie donc round(1.41666..., 4) = 1.4167.
Newton converge en peu d'étapes mais il faut un bon point de départ et . Sinon on divise par zéro ! La dichotomie, elle, est plus lente mais toujours sûre dès qu'on a un bon encadrement de départ.
Arrondir pour des résultats reproductibles
Une méthode approchée donne un nombre avec beaucoup de décimales (1.4142135623730951). Pour pouvoir comparer à une valeur attendue, on arrondit avec round(x, k) :
round(1.4142135623730951, 4) # -> 1.4142
round(1.41666666, 4) # -> 1.4167Le deuxième argument k est le nombre de décimales gardées. On choisit k (souvent 3 ou 4) et on l'indique dans l'énoncé pour que tout le monde obtienne la même réponse.
Renvoie toujours round(resultat, k) à la fin d'une méthode approchée. Fais bien tes calculs sans arrondir dans la boucle, et arrondis seulement à la fin : sinon tu accumules des erreurs.
round(2.5, 0) peut surprendre : Python utilise l'arrondi « au pair le plus proche » et renvoie 2.0. En pratique, avec k ≥ 3, ce détail n'a aucun impact sur nos exercices.
Arrondis uniquement la valeur renvoyée, pas les valeurs intermédiaires : tu gardes ainsi toute la précision pendant les itérations.
Comparer dichotomie et Newton
Les deux méthodes résolvent , mais différemment :
| Dichotomie | Newton | |
|---|---|---|
| Données | un intervalle | un point et |
| Vitesse | lente (÷2 par étape) | très rapide |
| Sûreté | toujours si bon encadrement | dépend du départ |
En pratique : la dichotomie est robuste et facile à écrire ; Newton est ultra-rapide quand on connaît et qu'on part assez près de la solution.
Choisis la dichotomie quand tu as un encadrement sûr et que tu veux un résultat garanti. Choisis Newton quand tu connais et que tu veux peu d'itérations.
Pour à près : la dichotomie depuis demande une quinzaine d'étapes ; Newton depuis y arrive en 4 étapes.
Newton qui « part en vrille » (diverge) est souvent dû à un mauvais point de départ ou à proche de 0. Dans le doute, encadre d'abord avec quelques dichotomies, puis affine avec Newton.
Tu as lu le cours ? Passe à la pratique.
Un coach IA te guide sans jamais donner la réponse, avec des exercices et des quiz sur ce chapitre. Version d'essai gratuite, sans limite de durée.
S'entraîner avec le coach IA — gratuit