Vous êtes sur la page 1sur 17

UHBC, Département de mécanique 2ème LMD (S4) Cours d’analyse numérique

Chapitre-II : Résolution numérique des équations non linéaires, f(x)=0

La physique numérique a recours à des méthodes numériques pour résoudre les


équations mathématiques de la physique qui expriment une théorie susceptible de prédire une
expérience. Le but de ce cours est d’évoquer les méthodes les plus classiques employées par
les physiciens.
On évoquera donc les techniques qui correspondent à l’analyse mathématique classique :
intégration, différentiation, algèbre linéaire, …
Cela, nous amènera à discuter sur les approximations inhérentes à toute méthode numérique.
Nous devrons nous pencher également sur leur complexité. Une méthode devant se traduire
par un algorithme pour la réaliser, elle peut être plus ou moins compliquée à mettre en œuvre.

II.1 Introduction :
Dans ce chapitre, nous discuterons de la résolution d’équations non linéaires à une
seule variable :

Les méthodes analytiques de résolution des équations algébriques polynomiales sont limitées
à certaines formes de faible degré, telles que les équations quadratiques, cubiques et
quartiques et à des formes particulières du type :

Pour les équations polynomiales entières de degré supérieur à quatre, il n’existe guère de
méthode exacte de résolution et l’on doit employer des méthodes numériques pour trouver les
racines.
De plus, les méthodes analytiques limitées aux formes polynomiales simples sont inutilisables
pour les équations transcendantes telles que :

En étudiant les méthodes de résolution de f(x)=0, nous nous poserons deux questions :
- La méthode converge-t-elle vers la solution cherchée x ?
- Dans l’affirmative, avec quelle rapidité ?
Explication : La racine étant à priori inconnue, on conçoit qu’il est difficile de savoir si
l’estimé x* est proche de x, de plus l’étude des variations de f(x), par f ’(x), est souvent un
problème plus complexe que celui de résoudre f(x)=0.

5
UHBC, Département de mécanique 2ème LMD (S4) Cours d’analyse numérique

II.2 Localisation des racines.


Principe : Soit f(x) une fonction et soit un intervalle , on dit que les racines de
f(x) appartenant à [a , b] sont séparées, si l’on peut trouver sur [a , b] des points de subdivision
ou tel que dans chaque [ai , ai+1] on connaisse le nombre de zéros qui se trouve.

Fig. II.1 Racines d’une fonction

Les méthodes dont nous discuterons (Dichotomie, Point fixe, Newton, …) permettent
généralement de trouver une racine de f(x)=0. Pour trouver les autres, il existe plusieurs voies.

a) Méthode algébriques (Corollaire de Rolle) :


Elles sont généralement basées sur le corollaire du théorème de Rolle. Si f(x)
est continue dans [a , b] et si N est le nombre de racines de f(x)=0 dans [a , b] compte-
tenu de leur multiplicité, alors :
f(a) . f(b) > 0 , N est Nul ou pair
f(a) . f(b) < 0 , N est impair

Remarque : Si f(x) est strictement monotone dans [a , b] alors l’existence d’une racine
implique son unicité.

Application : La séparation des racines dans un intervalle [a , b] consiste à construire la suite


de Rolle relative à cet intervalle :
Les points de cet intervalle sont les zéros de f ’(x)=0 dans [a , b], puis on calcule les valeurs
correspondantes à la fonction pour séparer les racines.

6
UHBC, Département de mécanique 2ème LMD (S4) Cours d’analyse numérique

Exemple :

x ∞
-∞ -1 0 1 ∞
+∞
f ‘(x) ∞
-∞ 0 0 0 ∞
+∞
f (x) ∞
+∞ -4 -3 -4 ∞+
+∞
Existence
Des racines

b) Méthode graphique :
Etant donné que les racines de f(x) sont les points d’intersection du graphe de
f(x) avec l’axe xox. On peut localiser les racines de f(x) en traçant le graphe de f(x) et
ressortir les intervalles [ai,ai+1] tel que x*∈[ai,ai+1] ou x une racine de f(x)=0.
Remarque : Dans certain cas le graphe de f(x) est difficile à tracer, si f(x) peut s’écrire
sous la forme f(x)=g(x)-h(x) et si les graphes de g et h sont faciles à tracer, les racines
de f(x)=0 sont les points d’intersection des graphes de g et h.

Exemple :
f(x)=0 ; f(x)=cos(x)-x = g(x)-h(x)

Fig. II.2 Méthode graphique

7
UHBC, Département de mécanique 2ème LMD (S4) Cours d’analyse numérique

II.2.1 Méthode de Dichotomie (Bisection, Bipartition).

Principe : Soit f(x)=0 qui admet une solution x* dans [a , b] f(x*)=0


Puisque f(x*)=0 et

Choisir un α de tel sorte


Soit

• Rechercher où se trouve la solution

-
-

De cette manière on a réduit l’intervalle à un intervalle de taille inférieure.


- Si on appelle le nouvel intervalle et on reprend la même
opération on réduira l’intervalle à un autre intervalle de taille plus petite.
- Si on répète ce processus indéfiniment on arrivera à trouver un intervalle de taille
égale à zéro [a = b] et les deux bornes se coïncident avec la solution .

Application :
f(x*)=0 et
E=| b – a |

-
-

Donc :

Remarque : Cette méthode opère sur un intervalle qui entoure toujours la solution. Cet
intervalle étant réduit à chaque étape, la convergence est donc assurée.

Algorithme :
1) Soit : f(x)=0, et a, b les bornes d’un intervalle qui contient une solution, ε (La
précision).
2)
3)

4) Si alors aller à (5) sinon aller à (2).


5) , afficher x comme solution avec une erreur maximale

8
UHBC, Département de mécanique 2ème LMD (S4) Cours d’analyse numérique

Organigramme de la méthode Dichotomie :

Programme Matlab de la méthode Dichotomie :


% Résolution de l’équation x-cos(x)=0 sur l’intervalle [0 , 1].
Nous définissons les fonctions f.m et Dichotomie.m de la fonction et de la méthode
Dichotomie.
function f = ma_fonction(x)

f = x - cos(x) ;

return

% Nous séparons les deux tests .


function [Alpha , n] = Dichotomie (a, b)

Precision = 10^-12;

n = 0 ;

while abs(b-a)>= Precision


n = n + 1 ;

if abs(f((a+b)/2) )== eps % eps est le zéro machine


a = b ; Alpha=(a+b)/2;

elseif f(b)* f((a+b)/2 ) > 0 ;

9
UHBC, Département de mécanique 2ème LMD (S4) Cours d’analyse numérique

b = (a+b)/2 ;

else
a = (a+b)/2 ;

end ;
end ;

Alpha = (a+b)/2 ;
return

Execution :

Il suffit alors d’écrire dans la fenêtre de commande l’instruction suivante :

>> [Alpha , n] = Dichotomie (0, 1)


Alpha =
0.73908513321521
n=
40

Remarque : Si on veut d’avance savoir le nombre n, où on peut s’arrêter pour avoir la valeur
approchée de la racine exacte x* avec une exactitude e, on utilise la formule suivante :

II.2.2 Méthode de Régula-Falsi (Fausse position)

La première étape de la méthode est identique à celle de la précédente. Au lieu


d'utiliser le point médian, on utilise le point d'intersection avec l'axe des abscisses de la droite
passant par les deux points (a , f(a)) et (b , f(b)).

Ce point est donné par l'équation suivante qui se vérifie très simplement :

a. f (b) − b. f (a )
x (0) =
f (b) − f (a )

La figure 2 montre l'évolution des points au cours des itérations. On démontre que si f ′(x )

et f ′′(x ) sont différents de 0, l'ordre de convergence de cette méthode vaut aussi 1.

10
UHBC, Département de mécanique 2ème LMD (S4) Cours d’analyse numérique

Fig. II.3 Méthode de Régula-Falsi

II.2.3 Méthode des substitutions successives (Méthode du point fixe)

Principe : Une équation du type f(x)=0 peut toujours s’écrire sous la forme équivalente :
x = g(x) (1)

où g est une nouvelle fonction de x.


Remarque : Un point fixe d’une fonction g(x) est une valeur de x qui reste invariante pour
cette fonction, c’est-à-dire toute solution de x = g(x) est un point fixe de la fonction g(x).
Exemple : soit f(x) une fonction définit comme suivant :

f ( x) = x 2 + 3e x − 12 Peut s’écrire :
x = g1 ( x) = x 2 + 3e x − 12 + x
x = g 2 ( x) = 12 − 3e x
(12 − x 2 )
x = g 3 ( x) = ln
3
( 0) *
La méthode propose de choisir un estimé x de la solution exacte x qui vérifie

f ( x * ) = 0 et donc x * = g ( x * ) , cette valeur estimée étant alors substituée à x dans le terme


de droite de l’équation (1).
(1) *
On obtient ainsi une nouvelle approximation x de x :

11
UHBC, Département de mécanique 2ème LMD (S4) Cours d’analyse numérique

x (1) = g ( x ( 0 ) )
(1) ( 2) (n )
De même on calcule : x , x , …, x

x ( 2 ) = g ( x (1) )
x ( 3) = g ( x ( 2 ) )
M
x ( n ) = g ( x ( n−1) )
Donc la méthode se résume à générer la suite suivante :
 x ( 0 ) estimé (choisi)
 (n) ( n −1)
x = g (x )
Le problème principal étant de savoir si la suite générée x { ( 0)
, x (1) , x ( 2 ) ,L, x ( n ) ,L}
*
converge vers la solution x de l’équation (1).

12
UHBC, Département de mécanique 2ème LMD (S4) Cours d’analyse numérique

- Dans les cas représentés par les figures (3.2) et (3.4), le procédé itératif génère une
*
suite convergente vers x quand n tend vers l’infini.
- Dans les cas (3.1) et (3.3) le procédé génère une suite divergente telle que

x (1) , x ( 2 ) ,L, x ( n ) s’éloignent de x * quand n tend vers l’infini.


Condition de convergence : La fonction y 2 ( x ) = x étant la même dans tous les cas, on

conçoit que la condition de convergence est liée à la forme de g (x ) .


D’après le théorème de la moyenne (théorème des accroissements) qui peut s’énoncer comme
suivant :

Soient deux points a et b d’une courbe y=f(x) où f(x) est une fonction continue sur [a,b], on
peut écrire :

g (b) − g (a )
= g ′(e) Où e ∈ ]a, b[
b−a

x (1) = g ( x ( 0 ) )
f ( x * ) = 0 ⇔ x* = g ( x * )
g ( x* ) − g ( x ( 0) )
*
x −x ( 0)
= g ′(e0 ) , e0 ∈ x * , x ( 0 ) ] [
⇒ g ( x * ) − g ( x ( 0 ) ) = ( x * − x ( 0 ) ).g ′(e0 )

x * − x (1) = ( x * − x ( 0 ) ).g ′(e0 )

]
x * − x ( 1 ) = ( x * − x ( 0 ) ).g ′( e0 ) , e0 ∈ x * , x ( 0 ) [
x −x* (2) *
=(x −x (1)
).g ′( e1 ) , e ∈ ]x , x [
1
* (1)

x * − x ( 3 ) = ( x * − x ( 2 ) ).g ′( e 2 ) , e ∈ ]x , x [
2
* (2)

M
]
x * − x ( n ) = ( x * − x ( n −1 ) ).g ′( e n −1 ) , e n −1 ∈ x * , x ( n −1 ) [
__________ __________ __________ _________
x * − x ( n ) = ( x * − x ( 0 ) ).g ′( e0 ).g ′( e1 ).g ′( e 2 )L g ′( e n −1 )
(2)

* (n)  x ( n) → x *
x −x → 0  
n →∞  n → ∞ 

13
UHBC, Département de mécanique 2ème LMD (S4) Cours d’analyse numérique

(x − x ).g ′(e ).g ′(e ).g ′(e )L g ′(e


*
n →∞
( 0)
0 1 2 n −1 )→0

Nous mettons :

M = Max( g ′(ei ) ), i = 1,2,..., n − 1

D’après (2), nous pouvons écrire :

x * − x ( n ) ≤ x * − x ( 0 ) .M n
lim x * − x ( n ) = lim x * − x ( 0 ) .M n = x * − x ( 0 ) . lim M n
n →∞ n →∞ n →∞

lim x * − x ( n ) → 0 si M <1
n→∞

⇒ lim x * − x ( n ) → 0 si g ′( x ) < 1
n→∞

La méthode converge vers x * si g ′( x) < 1

Condition d’arrêt : Théoriquement la solution n’est atteinte qu’après une infinité d’itérations
(si le processus converge).

 x ( 0 ) : éstimé
 (n) ( n −1)
x = g ( x )
En pratique, on arrête les opérations par l’un des tests suivants :
Il faut choisir ε (Précision voulue)

1) x ( i ) − x ( i −1) ≤ ε 1
2) f ( x (i ) ) ≤ ε 2
x ( i ) − x ( i −1)
3) < ε3
x (i )

Algorithme :
1- Etant donné ε , un critère d’arrêt ;
2- Etant donné N, le nombre maximal d’itération ;
3- Etant donné x0 , une valeur estimée initiale du point fixe ;

4- Effectuer xn +1 = g ( xn ) ;

14
UHBC, Département de mécanique 2ème LMD (S4) Cours d’analyse numérique

5- Si xn+1 − xn ≤ ε :

- convergence atteinte ;
- écrire la solution x n+1 ;
- arrêt.
6- Si le nombre maximal d’itération N est atteint :
- convergence non atteinte en N itérations ;
- arrêt.
7- Retour à l’étape 4.

Remarque : On peut résoudre des équations non linéaires de la forme f(x)=0 en utilisant
l’algorithme des points fixes. Il suffit pour ce faire de transformer l’équation f(x)=0 en un
problème équivalent de la forme x=g(x). L’ennui, c’est qu’il y a une infinité de façons
différentes de le faire. Nous verrons que certains choix donnent lieu à des algorithmes
convergents et d’autres pas.

Exemple : soit f(x)= x2-2x-3=0, les solutions exactes sont :


r1 = 3, r2 = -1.
Puisqu’il ya une infinité de façons différentes de transformer cette équation sous la forme
x=g(x), nous en choisissons trois au hasard.
Solution :

x = 2 x + 3 = g1 ( x )
3
x= = g 2 ( x)
x−2
x2 − 3
x= = g 3 ( x)
2
Si on applique l’algorithme des points fixes à chacune des fonctions g i (x ) en partant de

x0 = 4 , on obtient :

x1 = g1 (4) = 2.4 + 3 = 3,3166248


x2=g1(3,3166248)=3,1037477
x3=g1(3,1037477)=3,0343855
x4=g1(3,0343855)=3,0114402
M

15
UHBC, Département de mécanique 2ème LMD (S4) Cours d’analyse numérique

x10=g1(3,0000470)=3,0000157

L’algorithme semble donc converger vers la racine r1=3. Reprenons l’exercice avec g 2 ( x ) ,

Toujours en partant de x0 = 4 :
x1=g2 (4)=3/ (4-2) = 1,5
x2=g2 (1,5)=3/ (1,5-2) = -6,0
x3=g2 (-6,0)=3/ (-6,0-2) = -0,375
x4=g2 (-0,375)=3/ (-3,375-2) = -1,2631579
M
X10=g2 (-0,9989841)=3/ (-0,9989841-2) = -1,0003387
On remarque que, contrairement au cas précédent, les itérations convergent vers la racine
r2 = -1 en ignorant la racine r1 = 3. En dernier lieu, essayons l’algorithme avec la fonction
g 3 ( x) :
x1=g3 (4)=(4)2 - 3/2 = 6,5
x2=g3 (6,5)=(6,5)2 - 3/2 = 19,625
x3=g3 (19,625)=(19,625)2 - 3/2 = 191,0703
x4=g3 (191,0703)=(191,0703)2 - 3/2 = 18252,43
M
M

Visiblement, les itérations tendent vers l’infini et aucune des deux solutions possibles ne sera
atteinte.
Remarque : Cet exemple montre clairement que l’algorithme des points fixes, selon le choix
de la fonction itérative g(x), converge vers l’une ou l’autre des racines et peut même diverger
complètement dans certains cas.

II.2.4 Méthode de Newton


Principe : Notons par x* la racine « exacte » cherchée et xn une valeur approchée de x*.
On suppose que f(x) est de classe C2 au voisinage de x* (deux fois continument dérivable au
voisinage de x*).
Le développement de Taylor d’ordre deux de f(x) nous donne :
f ′′( xn ) *
f ( x * ) = f ( xn ) + f ′( xn )( x * − xn ) + ( x − xn ) 2
2
16
UHBC, Département de mécanique 2ème LMD (S4) Cours d’analyse numérique

Et comme f(x*)=0, en supposant que f ′( x n ) ≠ 0 , on aura :

f ( xn ) f ′′( xn ) *
x * = xn − − ( x − xn ) 2
f ′( xn ) 2 f ′( xn )
f ′′( xn ) * f ( xn )
En négligeant le reste R = − ( x − xn ) 2 , la quantité xn − qu’on notera
2 f ′( xn ) f ′( xn )
xn+1.

constitue alors une valeur approchée de x*. Et la formule de récurrence de Newton est donnée
f ( xn )
par : x n+1 = xn − , n = 0,1,2,.... (Son ordre de convergence est 2.)
f ′( xn )
Interprétation géométrique de la méthode de Newton : Soit f(x) une fonction de classe C2
([a, b]). Considérons le cas où : f ′′ ≥ 0 et f (b ) > 0 ,

f ( a ). f ( b ) < 0 .

L’équation de la tangente à la courbe de f(x) au point ( x0 , f ( x0 )) est donnée par :

y = f ′( x0 ).( x − x0 ) + f ( x0 )
• On prend x0 = b.
Le point d’intersection de cette tangente avec l’axe x’ox a pour abscisse (fig.4.1) :

x1 constitue une première approximation de x*.


De la même manière on obtient x 2 ,... ..., x n avec :

f ( xn )
xn+1 = xn − , n = 0,1,2,...
f ′( xn )
D’après le graphe cette suite converge vers x*. Dans ce cas x0 = b vérifie la condition

17
UHBC, Département de mécanique 2ème LMD (S4) Cours d’analyse numérique

f ′′( x0 ). f ( x0 ) > 0.

• On prend x0 = a : on a f ′′( x0 ). f ( x0 ) ≤ 0 alors la droite tangente passant par le point

( x * , f ( x * )) coupe l’axe des x en dehors de [a, b] (l’intervalle dont se trouve la


solution exacte), on s’éloignera donc, de la racine exacte x*.

Remarque : Une méthode itérative n’est importante que si elle est convergente.

On présente alors le théorème de convergence suivant :


Théorème : Soit f(x) une fonction de classe C2 ([a, b]) vérifiant les conditions suivantes :
a) f ( a ). f (b) < 0 ;

b) f ′( xn ) ≠ 0 sur [ a, b] ;
c) f ′′( x n ) garde un signe constant sur [a,b].

Alors, pour un choix de x0 tel que f ′′( x 0 ). f ( x0 ) > 0 , la suite :


f ( xn )
xn+1 = xn − , n = 0,1,2,...
f ′( xn )

Converge vers l’unique solution de f ( x ) = 0 .


Et on a l’estimation d’erreur suivante :
M 2
ea = x n − x * ≤ x n −1 − x n
2m
Où : M = sup [ a ,b ] f ′′( x ) et m = inf [ a ,b ] f ′( x )

Remarque :
- Les conditions a) et b) assurent l’existence et l’unicité de la solution ;
- La condition c) montre que la fonction considérée ne change pas de concavité sur
[a,b] ;
- Ce théorème assure la convergence dans un voisinage de x0 .
3
Application : Soit la fonction : f ( x ) = x + x − 1
1
a) Cette fonction admet une racine séparée sur [ , 1] car :
2
 1
 f ( ) = −0,375 1
 2 x * ∈ [ , 1]
 f (1) = 1 2

18
UHBC, Département de mécanique 2ème LMD (S4) Cours d’analyse numérique

1
Et f ′( x) > 0 sur [ , 1].
2
Vérifions maintenant les conditions du théorème de Newton :
La condition a) est vérifiée.

1
b) f ′( x) = 3x 2 + 1 ≠ 0 sur [ , 1]
2
1
c) f ′′( x ) = 6 x > 0 sur [ , 1] .
2

Le choix de x0 : Pour un début nous pouvons choisir un estimé x0 = 1.


f ′′(1) > 0 et f (1) > 0 ⇒ f ′′(1). f (1) > 0 ⇒ x0 = 1 est un bon choix.
1
M = sup f ′′( x) = 6 sur [ , 1].
2
3 7 1
m = inf f ′( x) = + 1 = , sur [ , 1]
4 4 2
On calcule une approximation avec une précision ε = 10 −1 (c’est une donnée)

f ( x0 )
Partant du choix de x0 = 1, on a : x1 = x0 − = 0,75
f ′( x0 )
M 2 6× 4 2
x1 − x * ≤ x0 − x1 = x0 − x1 ≈ 0,11 > ε
2m 2×7
On calcule alors x 2 .
f ( x1 )
x2 = x1 − = 0,68
f ′( x1 )
2
x2 − x * ≤ 1,71 x1 − x2 ≈ 0,008 ≤ 0,5 × 10 −1 = ε

*
x2 est la valeur approchée de x à 0,5. 10-1.
Estimation :
m − n + 1 = −1
 ⇒ n =1
m = −1
n=1, Le nombre a un chiffre significatif exact. x = 0,7 ± 0,1
Remarque: Bien que plus rapide, la méthode de Newton échoue dans plusieurs cas. Quelques
exemples sont rassemblés sur la figure ci-dessous

Fig. II.4.2 Cas où la méthode de Newton échoue


19
UHBC, Département de mécanique 2ème LMD (S4) Cours d’analyse numérique

Discussion :
La méthode de Newton offre une convergence nettement plus rapide que la méthode
de dichotomie. Cependant, cette dernière offre une garantie de convergence que n’offre pas la
méthode de Newton, qui ne converge que localement. De fait, la méthode de dichotomie est
parfois utilisée pour calibrer la valeur d’initialisation à fournir à une méthode d’ordre de
convergence plus élevée mais de convergence seulement locale comme la méthode de
Newton.

II.2.5 Méthode de la Sécante


La méthode de la sécante est une méthode dérivée de celle de Newton-Raphson où l’on
f ( x n ) − f ( x n −1 )
remplace la dérivée f ′( x) par
x n − x n −1
x n − x n−1
On obtient la relation de récurrence : x n−1 = x n − f ( xn )
f ( xn ) − f ( x n−1 )

L’initialisation nécessite deux points x0 et x1 proches, si possible, de la solution recherchée. Il


n’est pas nécessaire que x0 et x1 encadrent une racine de f(x).

Cette méthode est une variante de la méthode de Newton-Raphson. La condition de


l'étape 1 n'a plus à être satisfaite : la racine n'est pas nécessairement dans l'intervalle [x(k) ;
x(k+1)]. Comme il ne subsiste aucune indication sur le choix initial de l'intervalle [x(0); x(1)]; on
effectue un choix arbitraire de cet intervalle et on surveille alors la décroissance de la norme
de y(k) = f(x(k)).

( k +1) (k ) x ( k ) − x ( k −1)
(k )
x =x −y (k = 1,2,.....)
y ( k ) − y ( k −1)
1+ 5
L'ordre de convergence vaut p = = 1.618 (nombre d’Or).
2
La figure 5 montre l'évolution des points en prenant comme intervalle initial, l'intervalle [0 ;
0.5] qui ne contient pas la racine.

20
UHBC, Département de mécanique 2ème LMD (S4) Cours d’analyse numérique

Fig. II.5 Méthode de la Sécante

Remarque : L’avantage de cette méthode est donc qu’elle évite le calcul de f’(x), son
inconvénient est qu’elle « moins bonne », dans le sens où son ordre de convergence est
compris strictement entre 1 et 2.

Conclusion :
• L’avantage de la méthode du point fixe est que si elle converge, elle converge quelle
que soit la valeur initiale choisie dans l’intervalle de convergence. Son inconvénient
principal est sa lenteur de convergence, on peut néanmoins l’accélérer.

• La méthode de Newton-Raphson est plus rapide car la vitesse de convergence est


d’ordre au moins 2 ; la difficulté réside dans le choix de la valeur initiale !

• Les différentes méthodes proposées ont leurs avantages et leurs inconvénients, on


choisira celle qui convient le mieux au problème posé !

21

Vous aimerez peut-être aussi