Le calcul approché de solutions d'équations avec Python
- Fiche de cours
- Quiz
- Profs en ligne
- Videos
- Application mobile
Écrire un programme Python permettant de calculer une valeur approchée de la solution d’une équation.
- Pour déterminer une valeur approchée de solutions d’équations du type f(x) = 0, on peut utiliser trois méthodes : la méthode par dichotomie, la méthode de la sécante et la méthode de Newton.
- Exemple de programme Python traduisant la
méthode par dichotomie :
- Exemple de programme Python traduisant la
méthode de la sécante :
- Exemple de programme Python traduisant la
méthode de Newton :
- Résoudre des équations.
- Connaitre le théorème des valeurs intermédiaires.
Il arrive que certaines équations ne puissent pas être résolues algébriquement. Après avoir prouvé qu’elles admettent des solutions en utilisant, par exemple, le théorème des valeurs intermédiaires, il est alors utile d’avoir des méthodes pour déterminer une approximation numérique des solutions recherchées.
Les méthodes présentées servent à trouver une approximation numérique d’équations de la forme f(x) = 0 ou se ramenant à une équation de la forme f(x) = 0 sur un intervalle [a ; b], avec a et b deux nombres réels et f une fonction monotone définie sur [a ; b].
On considère une fonction f définie sur un
intervalle I.
On cherche à résoudre
l’équation f(x) = 0
sur un intervalle [a ; b]
après avoir prouvé que la
fonction f est monotone et
s’annule sur cet intervalle.
On se fixe une précision e (par exemple à
10–2).
Pour cela, on utilise l’algorithme suivant.
- On partage l’intervalle [a ; b]
en deux intervalles [a ; m]
et [m ; b]
avec
.
- On choisit l’intervalle qui contient la
solution pour cela, on calcule f(a) × f(m) :
- si f(a) × f(m) ⩽ 0 cela signifie que f(a) et f(m) sont de signes contraires, donc la solution est dans l’intervalle [a ; m] ;
- sinon la solution est dans l’intervalle [m ; b].
- On reprend l’étape 1 tant que (b – a) est supérieur à la précision e fixée. Pour cela, on remplace l’intervalle [a ; b] par celui qui contient la solution.
On considère la fonction f définie sur [0 ; 1] par f(x) = ex – 2. Déterminons une valeur approchée à 0,1 près de la solution de l’équation f(x) = 0.
Étape | [a ; b] | m | Remarques | Graphique |
1 | [0 ; 1] | 0,5 |
f(a) × f(m) > 0 La solution est donc dans l’intervalle [0,5 ; 1]. e = 1 – 0,5 = 0,5 > 0,1, donc on continue. |
![]() |
2 | [0,5 ; 1] | 0,75 |
f(a) × f(m) < 0 La solution est donc dans l’intervalle [0,5 ; 0,75]. e = 1 – 0,5 = 0,25 > 0,1, donc on continue. |
![]() |
3 | [0,5 ; 0,75] | 0,625 |
f(a) × f(m) < 0 La solution est donc dans l’intervalle [0,625 ; 0,75]. e = 0,625 – 0,75 = 0,125 > 0,1 donc on continue. |
![]() |
4 | [0,625 ; 0,75] | 0,6875 |
f(a) × f(m) > 0 La solution est donc dans l’intervalle [0,6875 ; 0,75]. e = 0,75 – 0,6875 = 0,065 < 0,1, donc on s’arrête. |
![]() |
Pour résumer, cet algorithme s’écrit en langage naturel de la façon suivante :
Tant que b–a > e
m←(a+b)/2
Si f(a) × f(m)<0 alors
b ← m
Sinon
a ← m
Fin Si
Fin Tant que
Retourner (a+b)/2
Fin Fonction
Programme Python | Commentaires |
![]() |
On importe la bibliothèque math.
On déclare la fonction f. On traduit en langage Python l’algorithme expliqué dans la partie 1.a. |
On reprend l’exemple de la fonction f définie sur [0 ; 1] par f(x) = ex – 2. Pour trouver la valeur approchée à 0,1 près de la solution de l’équation f(x) = 0 dans l’intervalle [0 ; 1], on saisit dans la console :

On considère une fonction f définie sur un
intervalle I.
On cherche à résoudre
l’équation f(x) = 0
sur un intervalle [a ; b]
après avoir prouvé que la fonction
f est
monotone et s’annule sur cet intervalle.
On se fixe une précision e (par exemple à
10–2).
Pour cela, on utilise l’algorithme suivant.
- On définit deux points A et B de coordonnées A(a ; f(a)) et B(b ; f(b)).
- On calcule l’équation de la
droite (AB),
celle-ci vaut :
.
La droite (AB) est appelée la sécante à la courbe représentative de la fonction f. - On calcule l’abscisse c du point
d’intersection C de la
sécante (AB) avec l’axe des
abscisses.
On obtient :.
- Tant que |c – a| > e, on recommence à partir de l’étape 1 avec a = c.
On considère la fonction f définie sur [0 ; 1] par f(x) = ex – 2.
Déterminons une valeur approchée à 0,1 près de la solution de l’équation f(x) = 0.
Étape | [a ; b] | m | Remarques | Graphique |
1 | [0 ; 1] | ≈ 0,58 | |c – a| ≈ 0,58 ≥ 0,1, donc on continue. |
![]() |
2 | [0,58 ; 1] | ≈ 0,68 | |c – a| ≈ 0,09 < 0,1, donc on s'arrête. |
![]() |
Pour résumer, cet algorithme s’écrit en langage naturel de la façon suivante :
c ← b
Tant que |a–c| > e
c ← a
a ← (a*f(b)–b*f(a))/(f(b)–f(a))
Fin Tant que
Retourner a
Fin Fonction
Programme Python | Commentaires |
![]() |
On importe la bibliothèque math.
On déclare la fonction. On traduit en langage Python l’algorithme expliqué dans la partie 2.a. |
On reprend l’exemple de la fonction f définie sur [0 ; 1] par f(x) = ex – 2. Pour trouver la valeur approchée à 0,1 près de la solution de l’équation f(x) = 0 dans l’intervalle [0 ; 1], on saisit dans la console :

On considère une fonction f définie sur un
intervalle I.
On cherche à résoudre
l’équation f(x) = 0
sur un intervalle [a ; b]
après avoir prouvé que la
fonction f est monotone et
s’annule sur cet intervalle.
On se fixe une précision e (par exemple à
10–2).
Pour cela, on utilise l’algorithme suivant.
- On définit deux points A et B de coordonnées A(a ; f(a)) et B(b ; f(b)).
- On calcule l’équation de la tangente (d) à la courbe représentative de f au point B : y = f’(b)(x – b) + f(b).
- On calcule l’abscisse c du point
d’intersection C de la
tangente (AB)
avec l’axe des abscisses. On obtient :
.
- Tant que |c – b| > e, on recommence à partir de l’étape 1 avec b = c.
On considère la fonction f définie sur [0 ; 1] par f(x) = ex – 2.
Déterminons une valeur approchée à 0,1 près de la solution de l’équation f(x) = 0.
Étape | [a ; b] | m | Remarques | Graphique |
1 | [0 ; 1] | 0,74 | |c – b| ≈ 0,26 ≥ 0,1, donc on continue. |
![]() |
2 | [0 ; 0,74] | ≈ 0,69 | |c – b| ≈ 0,05 < 0,1, donc on s'arrête. |
![]() |
Pour résumer, cet algorithme s’écrit en langage naturel de la façon suivante :
c ← a
Tant que |b–c| > e
c ← b
b ← b – f(x)/fprim(x)
Fin Tant que
Retourner b
Fin Fonction
Programme Python | Commentaires |
![]() |
On importe la bibliothèque math.
On déclare la fonction f.
On déclare de la même façon
la fonction dérivée. |
On reprend l’exemple de la fonction f définie sur [0 ; 1] par f(x) = ex – 2. Pour trouver la valeur approchée à 0,1 près de la solution de l’équation f(x) = 0 dans l’intervalle [0 ; 1], on saisit dans la console :

Vous avez obtenu75%de bonnes réponses !