MetMat

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

En itérant une suite récurrente un+1=g(un)u_{n+1}=g(u_n) convergente jusqu'à stabilisation à ε\varepsilon près

L'objectif

Approcher un point fixe \ell de gg (donc une racine de f(x)=g(x)xf(x)=g(x)-x) en itérant la suite un+1=g(un)u_{n+1}=g(u_n).

Le principe

Si gg est continue sur un intervalle II stable par gg et si (un)(u_n) définie par un+1=g(un)u_{n+1}=g(u_n) converge vers \ell, alors \ell est un point fixe de gg ; en pratique on arrête l'itération dès que un+1un<ε|u_{n+1}-u_n|<\varepsilon.

La méthode
  1. 1
    Je définis gg (dérivée du problème : pour f(x)=0f(x)=0, on choisit gg telle que g(x)=xf(x)=0g(x)=x\Leftrightarrow f(x)=0) et je justifie la convergence de la suite (par exemple gg contractante sur II).
  2. 2
    Je choisis une valeur initiale u0Iu_0 \in I.
  3. 3
    Dans une boucle while, je calcule u_next = g(u) tant que abs(u_next - u) >= eps, puis je remplace u par u_next.
  4. 4
    Je renvoie u, valeur approchée du point fixe.

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.