Vous êtes sur la page 1sur 12

Chapitre Analyse numérique COURS Yassine Hachaı̈chi

Résolution numérique des équations non linéaires

Position du problème Le problème est de calculer les zéros d’une fonction continue f , c’est-à-dire les
points α tels que f (α) = 0.


Exemples x2 − 2 = 0 on a α = ± 2 ≈ 1.41 · · ·
e−x − x = 0 on peut justifier l’existence par f (0) = 1 > 0 et f (1) = 1−e
e < 0.

1 Algorithme de la Dichotomie
Infomellement, on construit deux suites (un )n et (vn )n , telles que lim un = lim vn = α et ∀n ∈ N, un ≤ α ≤ vn .
n→∞ n→∞
Cette méthode repose sur le théorème des valeurs intermédiaires :

Théorème 1 (TVI) Soit f continue sur [a, b] telle que f (a)f (b) < 0, alors

∃c ∈]a, b[; f (c) = 0

Précondition : Soit une fonction f continue, telle qu’il existe a < b avec f (a)f (b) < 0, on sait par le TVI
qu’il existe au moins un zéro α de f dans l’intervalle ]a, b[.
On construit les suites (un ), (vn ) et (xn ) comme suit.
u0 = a; v0 = b
et pour tout n ∈ N on pose xn = un +v 2
n
;
Si f (xn ) = 0 on a notre valeur et on arrête.
Sinon si f (xn )f (un ) < 0 alors un+1 = un et vn+1 = xn
Sinon un+1 = xn et vn+1 = vn .

Preuve de l’algorithme
1. ∀n ∈ N, f (un )f (vn ) ≤ 0
2. un+1 = (un ou bien un +vn
2 ) ≥ un , alors (un ) est croissante.
3. vn+1 = (vn ou bien un +vn
2 ) ≤ vn , alors (vn ) est décroissante.
4. On pose dn = |vn − un | la distance entre la valeur un et la valeur vn , qui majore les distances entre un et
α, et vn et α. On remarque que
1 b−a un + vn un + vn un − vn
dn+1 = dn = n+1 puisque un − = − vn =
2 2 2 2 2
alors lim dn = 0
n→∞
5. (un ) et (vn ) sont adjacentes, alors elles convergent vers la même limite α. Et puisque un ≤ xn ≤ vn on a
(par le théorème des gendarmes, lim xn = α.
n→∞
6. f (un )f (vn ) ≤ 0 et f continue, alors par passage à la limite, f (α)2 ≤ 0, d’où f (α) = 0.

1
Estimation du nombre d’itérations en fonction de l’erreur tolérée : Pour chercher α, telle que f (α) = 0
à ε près par dichotomie.
Il suffit que max(|un − α|; |vn − α|; |xn − α|) ≤ |un − vn | ≤ ε.
( )
|a − b| |a − b| b−a
|un − vn | = ≤ ε ⇐⇒ ≤ 2n ⇐⇒ n ≥ log2 ( )
2n ε ε
( )
Pour une incertitude de ε, on pose Nε = E log2 ( b−a
ε ) +1

Program Dichotomie;
Var u,v,c : Real;
k : Integer;
Function f(x : Real) : Real;
Begin
f:=x*x-5;
End;

Begin
u:=2;
v:=3;
For k:=0 To 20 Do
Begin
c:=(u+v)/2;
If f(c)=0 Then Begin
u:=c;
v:=c
End
Else If (f(c)*f(u)<0) Then v:=c
Else u:=c;
Writeln(’u’,k,’=’,u:8:8,’ et v’,k,’=’,v:8:8);
End;
Readln
End.

Sans précalcul :

Program Dichotomie2;
Var u,v,c : Real;
k : Integer;
Function f(x : Real) : Real;
Begin
f:=x*x-5;
End;
BEGIN
u:=2; v:=3; k:=0;

2
Repeat
k:=k+1;
c:=(u+v)/2;
If f(c)=0 Then Begin
u:=c;
v:=c
End
Else If (f(c)*f(u)<0) Then v:=c
Else u:=c;
Writeln(’u’,k,’=’,u:8:8,’ et v’,k,’=’,v:8:8);
Until (Abs(u-v)<=0.00000001);
END.


Exemple. Approximation de 5 f (x) = x2 − 5
f (0) = −5; f (1) = −4; f (2) = −1; f (3) = 4 Il y a un changement de signe, alors on peut commencer :
u0 = 2; v0 = 3; x0 = 52
4 − 5 ≥ 0; on a f (u0 )f (x0 ) < 0 alors :
f (x0 ) = 25
u1 = 2; v1 = 52 ; x1 = 94
16 − 5 ≥ 0; on a f (u1 )f (x1 ) < 0 alors :
f (x1 ) = 81
u2 = 2; v2 = 94 ; x2 = 17 8

64 − 5 ≤ 0; on a f (u2 )f (x2 ) > 0 alors :


f (x2 ) = 289

u3 = 17 8 ; v3 = 4 ; x3 = 16 ≈
9 35
5.
√ −3
Pour avoir 5 à 10 près, il suffit que :
3−2
≤ 10−3 ⇐⇒ 103 ≤ 2n ⇐⇒ n ≥ log2 (10) ≈ 9.966 · · ·
2n
Il suffit de prendre N = 10 itérations.

2 Algorithme de la fausse position


Pour une fonction f continue, s’il existe a < b avec f (a)f (b) < 0, on sait par le théorème des valeurs intermédiares
qu’il existe au moins un zéro α de f dans l’intervalle ]a, b[.
On modifie l’algorithme de la dichotomie en choisissant le point d’intersection de la droite passant par :
Un = (un , f (un )), Vn = (vn , f (vn )) et l’axe Ox.
f (u)−f (v)
La droite passant par (u, f (u)) et (v, f (v)) est d’équation : y = u−v (x − u) + f (u) ; elle coupe l’axe (Ox)
au point c = uff (v)−f
(v)−vf (u)
(u)
On construit les suites (un ) et (vn ) comme suit.
u0 = a; v0 = b
et pour tout n ∈ N on pose xn = vn ff (u n )−un f (vn )
(un )−f (vn ) ;
Si f (xn ) = 0 on a notre valeur et on arrête.
Sinon si f (xn )f (un ) < 0 alors un+1 = un et vn+1 = xn
Sinon un+1 = xn et vn+1 = vn .

3
Preuve de l’algorithme.
1. ∀n ∈ N, f (un )f (vn ) ≤ 0
vn f (un )−un f (vn )
2. un+1 = (un ou bien f (un )−f (vn ) ) ≥ un , alors (un ) est croissante majorée par b ; lim un = u.
n→∞
vn f (un )−un f (vn )
3. vn+1 = (vn ou bien f (un )−f (vn ) ) ≤ vn , alors (vn ) est décroissante minorée par a ; lim vn = v.
n→∞
4. Il existe une suite extraite de (un ) et une suite extraite de (xn ) qui coı̈ncident, ou bien Il existe une suite
extraite de (vn ) et une suite extraite de (xn ) qui coı̈ncident.
5. Si (xn ) converge alors sa limite est soit u soit v.

Théorème 2 Soit f : [a, b] → R continue telle que f (a)f (b) < 0. Si f admet un unique zéro α ∈]a, b[, f (α) = 0.
Alors la suite (xn ) de l’algorithme de fausse position converge vers α.

Program FaussePos;
Var u,v,c : Real;
k : Integer;
Function f(x : Real) : Real;
Begin
f:=x*x-2;
End;
BEGIN
u:=0; v:=2;
For k:=0 To 20 Do
Begin
c:=(u*f(v)-v*f(u))/(f(v)-f(u));
If f(c)=0 Then Begin
k:=19;
u:=c;
v:=c
End
Else If (f(c)*f(u)<0) Then v:=c
Else u:=c;
Writeln(’u’,k,’=’,u:10:10,’ et v’,k,’=’,v:8:8);
End;
END.

Sans précalcul :

Program FaussePos2;
Var u,v,c : Real;
k : Integer;
Function f(x : Real) : Real;
Begin
f:=x*x-2;
End;

4
BEGIN
u:=0; v:=2; k:=0;
Repeat
k:=k+1;
c:=(u*f(v)-v*f(u))/(f(v)-f(u));
If f(c)=0 Then Begin
u:=c;
v:=c
End
Else If (f(c)*f(u)<0) Then v:=c
Else u:=c;
Writeln(’u’,k,’=’,u:10:10,’ et v’,k,’=’,v:10:10);
Until (Abs(u-v)<=0.00000001);
END.

3 Méthodes du point fixe.


On dit que α est un point fixe d’une fonction f si f (α) = α.
Si f est continue, une méthode consiste en la construction d’un suite convergente un+1 = f (un ), celle si converge
vers un point fixe de f .

Réduction de problème : Chercher un zéro d’une fonction continue g, peut se réduire à la recherche d’un
point fixe d’une fonction continue f , par exemple :

g(x) = 0 ⇐⇒ f (x) = x + λ(x)g(x) = x, pour λ(x) ̸= 0

Par exemple
1
x3 − x − 1 = 0 ⇐⇒ x3 − 1 = x ⇐⇒ =x
x2 −1
On va commencer par donner des préconditions afin de garantir l’existence d’un point fixe d’une fonction
continue, ensuite les conditions de convergence d’une méthode vers ce point fixe.

Théorème 3 Soit f continue de [a, b] dans R. Si f ([a, b]) ⊂ [a, b] alors f admet un point fixe.

Preuve : f (a) ∈ [a, b] alors f (a) − a ≥ 0. f (b) ∈ [a, b] alors f (b) − b ≤ 0. En utilisant le TVI pour f (x) − x,
on a ∃c ∈ [a, b]; f (c) − c = 0.

Théorème 4 Soit f : [a, b] → R une fonction continue. On suppose que les hypothèses suivantes soient satis-
faites :
– H1. L’image de [a, b] par f est un sous-ensemble de [a, b] (c.-à-d. f ([a, b]) ⊆ [a, b]) ;
– H2. il existe K < 1 tel que ∀x, y ∈]a, b[; |f (x) − f (y)| ≤ K|x − y|, on dit que f est contractante.
Il existe alors un unique α ∈ [a, b] telque f (α) = α, appelé point fixe de f , et la suite (un ) définie par :
u0 ∈]a, b[ et uk+1 = f (uk ) converge vers α.

5
Preuve : (H1.) nous garantit l’existence d’un point fixe par le théorème précédent.
Soient α, α′ ∈ [a, b] deux point fixes de f .

|α − α′ | = |f (α) − f (α′ )| ≤ K|α − α′ |

Si α ̸= α′ , alors 1 ≤ K < 1 contradiction. Alors α = α′ , unique.


Soit u0 ∈]a, b[.

dn = |un − α| = |f (un−1 ) − f (α)| ≤ K|un−1 − α| ≤ · · · ≤ K n |u0 − α| → 0

On a alors dn → 0 et donc, un → α.

Estimation du nombre d’itérations en fonction de l’erreur tolérée : Pour chercher α, telle que f (α) =
α à ε près par une méthode de point fixe, il suffit que K n |u0 − α| ≤ K n |b − a| ≤ ε.
a+b 2ε
Pour une incertitude de ε, et en prenant u0 = 2 , on pose Nε = E(log( b−a )/ log(K)) + 1
Comme conséquence, on a :

Théorème 5 Soit f : [a, b] → R une fonction de classe C 1 . On suppose que les hypothèses suivantes soient
satisfaites :
– H1. L’image de [a, b] par f est un sous-ensemble de [a, b] (c.-à-d. f ([a, b]) ⊆ [a, b]) ;
– H2. il existe K tel que |f ′ (x)| ≤ K < 1, ∀x ∈]a, b[.
Il existe alors un unique α ∈ [a, b] telque f (α) = α, appelé point fixe de f .
Alors la suite (un ) définie par :
u0 ∈]a, b[ et uk+1 = f (uk ) converge vers α.

la preuve repose sur :

Théorème 6 (des accroissements finis) Soit f une fonction continue sur [a, b] et dérivable sur ]a, b[. Alors,
il existe c ∈]a, b[ tel que f (b) − f (a) = f ′ (c)(b − a).

Exemple. Soit la fonction f (x) = x − 15 (x2 − 2).



Montrez que la suite x0 ∈ [1, 2] et xn+1 = f (xn ) converge vers 2.
f est clairement de classe C 1 . f ′ (x) = 1 − 25 x, alors pour 1 ≤ x ≤ 2, on a 0 ≤ 1
5 ≤ f ′ (x) ≤ 3
5 < 1.
f est croissante, alors pour 1 ≤ x ≤ 2, on a 1 < f (1) = 6
5 ≤ f (x) ≤ f (2) = 8
5 < 2.
On peut appliquer le théorème : x0 = 3
2 et xn+1 = xn − 1 2
5 (xn − 2) converge vers l’unique point fixe de f dans
[1, 2].

l = l − 51 (l2 − 2) ⇐⇒ l2 − 2 = 0 ⇐⇒ l = ± 2.

Program PointFixe;
Var u : Real;
k : Integer;
Function f(x : Real) : Real;
Begin
f:=x-(x*x-2)/5;

6
End;
BEGIN
u:=1.5;
For k:=0 To 20 Do
Begin
Writeln(’u’,k,’=’,u:8:8);
u:=f(u);
End;
END.

Sans précalcul :

Program PointFixe2;
Var u : Real;
k : Integer;
Function f(x : Real) : Real;
Begin
f:=x+(2-x*x)/5;
End;
BEGIN
u:=1.5;
k:=0;
Repeat
Writeln(’u’,k,’=’,u:10:10);
k:=k+1;
u:=f(u);
Until (Abs(u-f(u)) <= 0.00000001);
END.

Théorème 7 (de convergence locale) Soit f : I → R telle que f est de classe C 1 sur un ouvert I et
∃α ∈ I; f (α) = α.
1. Si |f ′ (α)| < 1 alors il existe un voisinage α ∈ V ⊂ I tel que :

∀x0 ∈ V ; xn+1 = f (xn ); convege vers α

On dit que α est un point fixe attractif.


2. Si |f ′ (α)| > 1 alors
∀x0 ∈ I; xn+1 = f (xn ); divege.

Sauf si xn = α pour n ∈ N. On dit que α est un point fixe répulsif.



Si |f (α)| = 1 on ne peut rien décider.

Preuve :
1. Si |f ′ (α)| = l < 1 alors il existe ε > 0; ∀x ∈ [α − ε, α + ε]; |f ′ (x)| < l+1
2 < 1, puisque f ′ est continue.

7
Or par le théorème des accroissements finis :

l+1
|x − α| ≤ ε ⇒ |f (x) − f (α)| ≤ |x − α| ≤ |x − α| ≤ ε
2
alors f (x) ∈ [α − ε, α + ε]. On peut alors appliquer le théorème du point fixe sur l’intervalle [α − ε, α + ε].
2. Si |f ′ (α)| > 1 alors
l+1
|f (xn ) − f (α)| ≥ |xn − α| ≥ |xn − α| > ε
2
on déborde à chaque fois de l’intervalle.

4 Algorithme de Newton
L’algorithme de Newton est une méthode de point fixe pour rechercher le zéro d’une fonction de classe C 1 tel
que :
f (xn )
xn+1 = xn − ′
f (xn )
L’idée est de chercher λ(x) telle que : g(x) = x + λ(x)f (x) soit nulle en α tel que f (α) = 0.
g ′ (x) = 1 + λ′ (x)f (x) + λ(x)f ′ (x), en posant g ′ (α) = 0, on a λ(α)f ′ (α) = −1.
On peut montrer que xn+1 est le point d’intersection de la tangente à la courbe de f au point xn (d’équation
”y = f ′ (xn )(x − xn ) + f (xn )”) et l’axe des abscisse (Ox)
(c’est-à-dire la racine de l’équation ”0 = f ′ (xn )(x − xn ) + f (xn )”).
f (x)
On pose alors xn+1 = g(xn ) avec g(x) = x − f ′ (x) . En cas de convergence,

f (l) f (l)
g(l) = l = l − ′
⇐⇒ ′ = 0 ⇐⇒ f (l) = 0
f (l) f (l)

Théorème 8 (Newton locale) Soit f : [a, b] → R une fonction de classe C 1 . On suppose que ∃α ∈]a, b[; f (α) =
0 et f ′ (α) ̸= 0 (racine simple). Alors il existe un voisinage V de α tel que la suite (un ) définie par :
f (uk )
u0 ∈ V et uk+1 = uk − f ′ (uk )
converge vers α.

f (x)
Preuve : Soit g(x) = x − f ′ (x) , on a alors : f (α) = 0 ⇒ g(α) = α.
f ′ (x)2 −f (x)f ′′ (x) f (x)f ′′ (x)
g ′ (x) = 1 − =
f ′ (x)2 d’où g ′ (α) = 0. Par le théorème du point fixe, il existe un voisinage V
f ′ (x)2 ,
de α tel que ∀x0 ∈ V, xn+1 = g(xn ) converge vers α.

√ x2k −3 x2k +3
Exemple approximation de 3. x0 = 2, xk+1 = xk − 2xk = 2xk .

7 97 √
x1 = , x2 = ≈ 1.7321, et 3 ≈ 1.7320
4 56

Théorème 9 (Newton globale) Soit f : [a, b] → R une fonction de classe C 2 . On suppose que les hypothèses
suivantes soient satisfaites :
– H1. f (a) · f (b) < 0 ;
– H2. f ′ (x) ̸= 0, ∀x ∈]a, b[.

8
– H3. f ′′ (x) ̸= 0, ∀x ∈]a, b[.
Alors la suite (un ) définie par :
u0 tel que f (u0 )f ′′ (u0 ) > 0 et uk+1 = uk − f (uk )
f ′ (uk )
converge vers l’unique α ∈]a, b[, f (α) = 0.

La démonstration peut être faite pour le cas (H2), f ′ (x) > 0 et (H3), f ′′ (x) > 0. On montre dans ce cas que
(un ) est décroissante minorée par α.

Program Newton;
Var u,v,c : Real;
k : Integer;
Function f(x : Real) : Real;
Begin
f:=x*x-2;
End;
Function Df(x : Real):Real;
Begin
Df:=2*x
End;
BEGIN
u:=2; k:=0;
Repeat
k:=k+1;
u:=u-(f(u)/Df(u));
Writeln(’u’,k,’=’,u:10:10);
Until (Abs(f(u))<=0.00000001);
End.

Soit f : [a, b] → R, pour laquelle les conditions d’application de la méthode de Newton sont vérifiée.
max |f ′′ (x)|
Soit en = d(un , α), alors en+1 ≤ K(en )2 avec K = 2 min |f ′ (x)|

5 Ordre d’une méthode


xn+1 −α
Soit (xn ) une suite qui converge vers α (une méthode). On dit que (xn ) est d’ordre (au moins) p > 0 ⇐⇒ (xn −α)p
est bornée.
Cet indicateur nous donne un comparaison entre les méthodes. Plus l’ordre p est grand, plus la méthode converge
rapidement vers le point fixe. Algorithmiquement, pour une incertitude fixée ε, le nombre d’itérations Nε est
plus petit.
La dichotomie et la fausse position sont d’ordre 1.

Théorème 10 Soit g de classe C p au voisinage de la limite α = g(α). Si g (k) (α) = 0, pour k = 0, · · · , p − 1 et


g (p) (α) ̸= 0, alors la suite xn+1 = g(xn ) est d’ordre exactement p.

9
Preuve : Soit le développement limité de g au voisinage de α :


p−1 (k)
g g (p) g (p)
g(x) = g(α)+ (α)(x−α)k + (α)(x−α)p +o((x−α)p ) ⇐⇒ g(x)−g(α) = (α)(x−α)p +o((x−α)p )
k! p! p!
k=0

On a alors
g (p) xn+1 − α g (p)
xn+1 − α = g(xn ) − g(α) = (α)(xn − α)p + o((xn − α)p ) ⇐⇒ → (α) ̸= 0
p! (xn − α)p p!

Proposition 5.1 Si f est de classe C 1 tel que f (α) = 0 et f ′ (α) ̸= 0, alors la méthode de Newton est d’ordre
au moins 2.
Il suffit de voir la preuve de la méthode de Newton où on a g(α) = α et g ′ (α) = 0.

10
ENICar Département GE. Série 1
Analyse numérique 2014 – 2015
1 ère année ingénieurs mécatronique

Exercice 1.

On considère l’équation non-linéaire f (x) = 0, où f (x) = 2 − x3 .

1. Montrer que la méthode de dichotomie peut être utilisée afin de calculer le seul zéro a de f dans [1, 2].
Effectuez les 3 premières itérations.

2. Donnez 3 2 à 10−2 près.

3. Soit la méthode de point fixe xn+1 = g(xn ) avec g(x) = x + 18 (2 − x3 ); 1 ≤ x ≤ 2 et montrer la


convergence de cette méthode vers la solution a, pour tout x0 ∈ [1, 2].

4. Justifiez que cette méthode est d’ordre 1.


3
5. Soit la méthode de point fixe yn+1 = h(yn ) avec h(x) = 2x3x+2
2 ; 1 ≤ x ≤ 2 montrer que cette méthode
correspond à la méthode de Newton. Proposez y0 pour garantir la convergence de cette méthode. Donnez

les 3 premières itérations et comparez avec 3 2.

Exercice 2.

On considère l’équation (E) : f (x) = x3 + x − 1 = 0.

1. Montrez que (E) admet une solution unique sur [0, 1].

2. L’équation (E) est équivalente à l’équation (E ′ ) : g(x) = x avec


g(x) = x3 + 2x − 1 ou g(x) = 1 − x3 ou g(x) = x21+1 .
Etudiez pour chacun des cas la convergence de la méthode du point fixe. En cas de convergence, donnez
un intervalle I tel que pour tout choix de x0 ∈ I la méthode converge.

Exercice 3.

On considre l’équation non linéaire (E) : f (x) = x + ln(x) = 0.

1. Montrer que l’équation (E) admet une solution unique α dans ]0; 1[.

2. L’équation (E) est équivalente à l’équation : x = g(x), où g(x) = − ln(x). Vérifier que α est un point fixe
répulsif de g.

3. Vérifier que g est bijective, et montrer que α devient un point fixe attractif pour g −1 .

4. Donner un intervalle fermé I tel que la suite (xn ) définie par xn+1 = g −1 (xn ) converge pour tout choix
initial x0 dans I.

11
Exercice 4.
On veut calculer le zéro a de la fonction f (x) = x3 − 2 en utilisant la méthode de point fixe
ω 2ω
x(k+1) = g(x(k) ) = x(k) (1 − ) + (x(k) )3 (1 − ω) + + 2(ω − 1)
3 3(x(k) )2

1. Pour quelles valeurs du paramètre ω le zéro de la fonction f est un point fixe de la méthode proposée ?
2. Pour quelles valeurs de ω la méthode proposée est-elle d’ordre 2 ?
3. Existe-t-il une valeur de ω telle que l’ordre de la méthode de point fixe est supérieur à 2 ?

Exercice 5.

Soit a > 0 un réel, écrire l’algorithme de Newton pour approcher a. Prenez a = 3 et effectuez les 4 premières

itŕations. Comparez avec 3.

Exercice 6.
Soit a une racine double de la fonction f ,c’est-à-dire f (a) = f ′ (a) = 0 et f ′′ (a) ̸= 0.
1. En tenant compte du fait qu’on peut écrire la fonction f comme f (x) = (x − a)2 h(x) où h(a) ̸= 0, vérifier
que la méthode de Newton pour l’approximation de la racine a est seulement d’ordre 1.
2. On considère la méthode de Newton modifiée suivante :
f (x(k) )
x(k+1) = g(x(k) ) = x(k) − 2 )
f ′ (x(k) )

Vérifier que cette méthode est d’ordre deux si l’on veut approcher a.

12

Vous aimerez peut-être aussi