MetMat

Comment approcher numériquement la racine d'une équation f(x)=0f(x)=0 en Python ?

En implémentant une dichotomie : a,ba,b avec f(a)f(b)<0f(a)f(b)<0, itérer jusqu'à précision ε\varepsilon

L'objectif

Approcher à une précision ε\varepsilon près une racine d'une fonction continue ff sur [a,b][a,b] avec f(a)f(b)<0f(a)f(b)<0.

Le principe

D'après le théorème des valeurs intermédiaires, si ff est continue sur [a,b][a,b] et f(a)f(b)<0f(a)f(b)<0, il existe c[a,b]c\in[a,b] avec f(c)=0f(c)=0 ; en divisant par 22 l'intervalle à chaque étape, on encadre cc avec une erreur inférieure à (ba)/2n(b-a)/2^n après nn itérations.

La méthode
  1. 1
    Je vérifie les hypothèses : ff continue sur [a,b][a,b] et f(a)f(b)<0f(a)f(b)<0 (sinon la méthode ne s'applique pas).
    Voir
  2. 2
    Tant que b - a > eps, je calcule m = (a+b)/2 et f(m)f(m).
  3. 3
    Si f(a)f(m)0f(a)f(m) \le 0, je pose b = m ; sinon a = m (la racine reste dans la moitié où le signe change).
  4. 4
    Je renvoie (a+b)/2 comme valeur approchée, avec une erreur inférieure à ε\varepsilon.

Exemple corrigé

Difficulté croissante de 1 à 3

Exercices aujourd'hui0 / 3

Prêt à t'entraîner ?

Génère un exercice personnalisé sur cette méthode et entraîne-toi avec la correction IA.