II. La méthode de Newton
⋄On considère une fonction fde classe C1sur un intervalle I. On suppose que fs’annule
en α∈Iet que f′ne s’annule pas sur Iet on cherche à déterminer une valeur approchée de
α. On définit pour cela une suite (xn) par récurrence :
– on prend x0∈I(assez proche de α, lorsque l’on connait une estimation de αou un
encadrement) ;
– pour n∈N,xn+1est défini comme étant l’abscisse du point d’intersection de l’axe
des abscisses avec la tangente à la courbe représentative de fau point d’abscisse xn.
⋄La suite (xn) satisfait la relation de récur-
rence :
∀n∈N,xn+1=xn−f(xn)
f′(xn)
Sous les bonnes hypothèses, la suite (xn)
converge vers une solution de l’équation f(x)=
0. On va calculer xnpour un entier ndonné.
Données : f,f′,x0et n
x←x0
pour kallant de 0àn−1
x←x−f(x)
f′(x)
fin pour
Résultat : x
def newton(f,fprime,x0,n):
x=x0
for k in range(0,n):
x=x-float(f(x))/fprime(x)
return x
Exemple Python.
from math import sin,cos
print newton(lambda x:-cos(x),lambda x:sin(x),1,5)
1.57079632679
BRemarque. Chacun des deux algorithmes a besoin de la fonction f(bien entendu) et
d’informations supplémentaires :
• Pour l’algorithme de dichotomie, il faut donner deux valeurs dont les images par f
sont de signes opposés ;
• Pour l’algorithme de Newton, il faut fournir la dérivée de fainsi qu’une valeur de
départ (estimation initiale).