Adloun

Python (école d'ingénieur) · Chapitre 11 · Exercice

Divergence de la méthode de Newton

Résolution d'équations non linéaires

Énoncé

Mettre en évidence le comportement de la méthode de Newton appliquée à la fonction avec pour points initiaux et .

Corrigé

f = lambda x: x**3 - 2*x + 2
df = lambda x: 3*x**2 - 2

print("Newton avec x0 = 0 :")
x = 0
for i in range(4):
    x_new = x - f(x) / df(x)
    print(f" i={i}: x = {x:.6f}, f(x) = {f(x):.2e}")
    x = x_new

print("\nNewton avec x0 = 1.5 :")
x = 1.5
for i in range(6):
    x_new = x - f(x) / df(x)
    print(f" i={i}: x = {x:.10f}, f(x) = {f(x):.2e}")
    if abs(x_new - x) < 1e-12:
        break
    x = x_new

Résultat dans la console :

Newton avec x0 = 0 :
 i=0: x = 0.000000, f(x) = 2.00e+00
 i=1: x = 1.000000, f(x) = 1.00e+00
 i=2: x = 0.000000, f(x) = 2.00e+00
 i=3: x = 1.000000, f(x) = 1.00e+00

Newton avec x0 = 1.5 :
 i=0: x = 1.5000000000, f(x) = 2.38e+00
 i=1: x = 1.3478260870, f(x) = 5.84e-01
 i=2: x = 1.2737353848, f(x) = 6.23e-02
 i=3: x = 1.2638550870, f(x) = 7.80e-04
 i=4: x = 1.2637632649, f(x) = 1.26e-07
 i=5: x = 1.2637626158, f(x) = 3.33e-15

Avec , la suite oscille indéfiniment en un cycle périodique alternant et . Avec , elle converge très rapidement vers la racine réelle unique .

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →