Lycée   >   Terminale   >   Mathématiques   >   Le calcul approché de solutions d'équations avec Python

Le calcul approché de solutions d'équations avec Python

  • Fiche de cours
  • Quiz
  • Profs en ligne
Objectif

Écrire un programme Python permettant de calculer une valeur approchée de la solution d’une équation.

Points clés
  • 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 :
Pour bien comprendre
  • 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].

1. La méthode par dichotomie
a. Principe

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.

  1. On partage l’intervalle [a ; b] en deux intervalles [a ; m] et [m ; b] avec .
  2. 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].
  3. 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.
Exemple
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.
La valeur approchée de la solution à 0,1 près est donc environ égale à 0,7.

Pour résumer, cet algorithme s’écrit en langage naturel de la façon suivante :

Fonction dicho(a, b, e)
   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
b. Programme
Programme Python Commentaires

On importe la bibliothèque math.

On déclare la fonction f.
On écrit avec la commande return l’expression de la fonction.

On traduit en langage Python l’algorithme expliqué dans la partie 1.a.

Exemple
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 :
La solution de l’équation f(x) = 0 à 0,1 près est donc 0,7.
2. La méthode de la sécante
a. Principe

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.

  1. On définit deux points A et B de coordonnées A(a ; f(a)) et B(b ; f(b)).
  2. 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.
  3. On calcule l’abscisse c du point d’intersection C de la sécante (AB) avec l’axe des abscisses.
    On obtient : .
  4. Tant que |c – a| > e, on recommence à partir de l’étape 1 avec a = c.
Exemple
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.
La valeur approchée de la solution de l'équation f(x) = 0 à 0,1 près est donc environ égale à 0,7.

Pour résumer, cet algorithme s’écrit en langage naturel de la façon suivante :

Fonction secante(a, b, e)
   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
b. Programme Python
Programme Python Commentaires

On importe la bibliothèque math.

On déclare la fonction.
On écrit avec la commande return l’expression de la fonction.

On traduit en langage Python l’algorithme expliqué dans la partie 2.a.

Exemple
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 :
La solution à 0,1 près de l’équation f(x) = 0 est donc 0,7.
3. La méthode de Newton
a. Principe

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.

  1. On définit deux points A et B de coordonnées A(a ; f(a)) et B(b ; f(b)).
  2. On calcule l’équation de la tangente (d) à la courbe représentative de f au point B : y = f(b)(x – b) + f(b).
  3. On calcule l’abscisse c du point d’intersection C de la tangente (AB) avec l’axe des abscisses. On obtient : .
  4. Tant que |c – b| > e, on recommence à partir de l’étape 1 avec b = c.
Exemple
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.
La valeur approchée de la solution à 0,1 près est environ égale à 0,7.

Pour résumer, cet algorithme s’écrit en langage naturel de la façon suivante :

Fonction tangente(a, b, e) :
   c ← a
   Tant que |b–c| > e
      c ← b
      b ← b – f(x)/fprim(x)
   Fin Tant que
   Retourner b
Fin Fonction
b. Programme Python
Programme Python Commentaires

On importe la bibliothèque math.

On déclare la fonction f.
On écrit  avec la commande return l’expression de la fonction.

On déclare de la même façon la fonction dérivée.

On traduit en langage Python l’algorithme expliqué dans la partie 3.a.

Exemple
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 :
La solution à 0,1 près de l’équation f(x) = 0 est donc 0,7.

Comment as-tu trouvé ce cours ?

Évalue ce cours !

 

Question 1/5

La médiane de 6 notes est 13. Cela signifie que :

Question 2/5

On a obtenu la série statistique suivante :

Combien vaut la médiane ?

Question 3/5

On a obtenu la série ci-dessous :

Quelle est la médiane de cette série ?

Question 4/5

On a relevé les tailles en cm des élèves d’une classe :

 

Parmi les propositions suivantes, laquelle est vraie ?

Question 5/5

Les notes en français de deux classes littéraires sont données dans le tableau suivant :

Quelle est la note médiane ?

Vous avez obtenu75%de bonnes réponses !

Recevez l'intégralité des bonnes réponses ainsi que les rappels de cours associés :

Votre adresse e-mail sera exclusivement utilisée pour vous envoyer notre newsletter. Vous pourrez vous désinscrire à tout moment, à travers le lien de désinscription présent dans chaque newsletter. Pour en savoir plus sur la gestion de vos données personnelles et pour exercer vos droits, vous pouvez consulter notre charte.

Une erreur s'est produite, veuillez ré-essayer

Consultez votre boite email, vous y trouverez vos résultats de quiz!

Découvrez le soutien scolaire en ligne avec myMaxicours

Le service propose une plateforme de contenus interactifs, ludiques et variés pour les élèves du CP à la Terminale. Nous proposons des univers adaptés aux tranches d'âge afin de favoriser la concentration, encourager et motiver quel que soit le niveau. Nous souhaitons que chacun se sente bien pour apprendre et progresser en toute sérénité ! 

Fiches de cours les plus recherchées

Mathématiques

Le calcul approché d'intégrales ou de limites de sommes avec Python

Mathématiques

Listes en Python : application aux statistiques et probabilités- Terminale- Mathématiques

Mathématiques

Listes en Python : application aux suites et aux fonctions- Terminale- Mathématiques

Mathématiques

Listes en Python : application à la géométrie plane- Terminale- Mathématiques

Mathématiques

Listes en Python : application aux ensembles

Mathématiques

Listes en Python : création et manipulation- Terminale- Mathématiques

Mathématiques

Le calcul approché de nombres remarquables avec Python

Mathématiques

L'inégalité de Bienaymé-Tchebychev

Mathématiques

Des applications de l'inégalité de Bienaymé-Tchebychev

Mathématiques

CanardMasqué présente : Les systèmes de numération