Université Mohamed Boudiaf - M'sila.
Faculté de Technologie.
Matière : TP Méthodes Numériques.
2ème Année ST (LMD) - 2017/2018.
TP N 4 : Méthode de Newton
(Résolution de l'équation f (x) = 0)
1 But
Le problème est de trouver des valeurs approchées des solutions d'une équation f (x) = 0
où f est une fonction non linéaire, le plus souvent continue et dérivable, sur un intervalle I .
Dans le cas général, on utilise des méthodes itératives, qui donnent une suite d'approximations
successives s'approchant de la solution exacte.
2 Principales méthodes de résolutions approchées de f (x) = 0
2.1 Critère d'arrêt de l'algorithme
On considère un intervalle [a, b] et une fonction f continue sur [a, b] dans R. On suppose
que f (a)×f (b) < 0 et que l'équation f (x) = 0 admet une unique solution α sur l'intervalle ]a, b[.
2.2 Méthode de Newton
La méthode de Newton est une méthode particulière de la méthode du point xe. Elle est
basée sur l'idée de construction d'une suite (xn ) qui converge vers α d'une manière quadratique.
On construit la suite (xn ) dénie par x0 ∈ [a, b] et la relation de récurrence suivante :
f (xn )
xn+1 = xn − f 0 (xn )
est convergente vers α de manière au moins quadratique. Où f 0 désigne la dérivée de la fonction
f . La gure(1) montre une illustration graphique.
Nous allons annoncer un résultat de convergence globale concernant la méthode de Newton
Figure 1 Méthode de Newton .
pour des fonctions ayant une concavité déterminée (convexe ou concave).
Soit f : [a, b] ∈ R de classe C2 vériant :
- f (a) × f (b) < 0,
1
- f 0 (x) 6= 0, ∀x ∈ [a, b],
- f 00 (x) 6= 0, ∀x ∈ [a, b].
Alors la suite (xn ) dénie par :
x ∈ [a, b] : f (x0 ) × f 00 (x0 ) > 0
xn+1 = xn − ff0(x n) (1)
(xn )
est convergente vers α ⇒ qu'il existe un unique solution α ∈ [a, b] tel que f (α) = 0 comme
f est de signe constant, on distingue deux cas :
00
(1)- Si f 00 (x) > 0, ∀x ∈ [a, b](donc f (x0 ) > 0), alors :
(a)- Si f 0 (x) > 0, ∀x ∈ [a, b] on a :
f (x) > 0, ∀x ∈]α, b]
f (x) < 0, ∀x ∈ [a, α[
(2)
Comme f (x0 ) > 0, alors x0 ∈]α, b]. Par conséquent,
00
g(x) = x − ff0(x)
(x)
⇒ g 0 (x) = f (x).f (x)
(f 0 (x))2
≥ 0, ∀x ∈]α, b]
Donc g est croissante sur ]α, b], d'où
α < x0 ⇒ α = g(α)(x0 ) = x1 ⇒ x1 ∈]α, b]
de plus,
g(x0 ) = x1 = x0 − f (x0 )
f 0 (x0 )
< x0 ⇒ α ≤ x1 ≤ x0 ,
Par conséquent, on obtient :
α ≤ . . . ≤ xn+1 ≤ xn ≤ . . . ≤ x2 ≤ x1 ≤ x0 ,
donc
|xn+1 − α| < |xn − α|
c'est-à-dire (xn ) est décroissante minorée par α, donc (xn ) est convergente. Comme xn+1 = g(xn )
et que g est continue, (xn ) converge vers α l'unique point xe de g .
(b)- Si f 0 (x) < 0, ∀x ∈ [a, b] un croisonnement semblable au précédent implique que (xn ) est
croissante majorée pas α.
(2)- Si f 00 (x) < 0, ∀x ∈ [a, b](donc f (x0 ) < 0), alors le raisonnement précédent avec f remplacée
par −f , implique que la suite (xn ) est convergente vers α.
2.3 Test d'arrêt
Une fois construite la suite (xn ) convergeant vers α vériant g(α) = α, et une fois xée la
tolérance , nous cherchons le premier entier n0 vériant : |xn0 +1 − xn0 | < .
2.3.1 Exemple
Pour illustrer la méthode, recherchons le nombre positif x vériant cos(x) = x3 . Reformulons
la question pour introduire une fonction devant s'annuler : on recherche le zéro positif (la racine)
de f (x) = cos(x) − x3 , la dérivée est f 0 (x) = −sin(x) − 3x2 .
2
Comme cos(x) ≤ 1 pour tout x et x3 > 1 pour x > 1, nous savons que notre zéro se situe entre
0 et 1. Nous essayons une valeur de départ de x0 = 0, 5.
cos(0.5)−0.53
x1 = x0 − ff0(x 0)
(x0 )
= 0.5 − −sin(0.5)−3+0.52
≈ 1.1121416371
..
.
f (x )
x2 = x1 − f 0 (x11 ) = ≈ 0.909672693736
..
x = x2 − ff0(x 2)
.
= ≈ 0.866263818209
3 (x2 )
..
x4 = x3 − ff0(x 3)
(x3 )
= . ≈ 0.865477135298 (3)
..
x5 = x4 − ff0(x 4)
.
= ≈ 0.865474033111
(x 4)
..
x6 = x5 − ff0(x 5)
.
= ≈ 0.865474033101
(x5 )
..
x = x − f (x6 ) = .
7 6 f 0 (x6 )
≈ 0.865474033102
3 Jeux de Données
On travaillera avec les fonctions et intervalles suivants :
f1 (x) = x − esin(x)
(4)
[a, b] = [1, 10]
f2 (x) = x3 − 12x2 − 60x + 46
[a, b] = [0, 1]
(5)
4 Travail à réaliser
- Ecrire les programmes sous MATLAB permettant d'appliquer la méthode en question aux
fonctions précédemment dénies.
- On prendra un test d'arrêt de la forme |xn+1 − xn | < et on prendra soin de prévoir un
compteur d'itérations qui permettra d'interrompre le traitement dès que Nmax d'itérations sont
eectuées sans que la précision ne soit atteinte. On pourra prendre par exemple Nmax = 50 .
- Les paramètres d'entrée de la fonction Newton seront x0 , , Nmax , la fonction f et sa dérivée
f 0 ; les résultats seront la racine obtenue ainsi que son image par la fonction f et le nombre
d'itérations eectuées et l'erreur de calcul.
4.1 Choix de la valeur initiale
On teste cette méthode pour la fonction f1 . On testera à chaque fois pour = 10−3 , 10−6 , 10−9
et 10−12 . On prendra comme valeur initiale : x0 = −10, x0 = 1, x0 = 2 puis x0 = 10.
On teste cette méthode aussi pour la fonction f2 . On testera à chaque fois pour = 10−3 , 10−6 , 10−9
et 10−12 . On prendra comme valeur initiale : x0 = −1, x0 = 0.3, x0 = 0.5 puis x0 = 3.
3
Figure 2 Algorithme de la méthode de Newton.
5 Algorithme (Organigramme) de la méthode de Newton
6 Exercice
On utilise le Matlab, appliquer la méthode de Newton pour résoudre l'équation suivante :
f (x) = x − cos(x). avec [a, b] = [0, 1], = 10−3 .
Conclure : Comparer les résultats dans les deux cas avec la méthode du point-xe et celle de
Dichotomie.