Vous êtes sur la page 1sur 4

Université de Souk Ahras

Faculté des Sciences et Technologie, Dépt. Génie Electrique


Master1 : Machines électriques et leurs environnements
Matière: Mathématiques Appliquées
Chargé de la matière: Pr. K. Khelil

Résolution d'équations non linéaires


Méthode de Newton-Raphson
1. Principe
La méthode de Newton-Raphson est beaucoup plus évoluée que la méthode de dichotomie1 : elle utilise
les variations de la fonction dont on cherche le zéro. En partant d'un point, on trace la tangente à la courbe
que l'on suit jusqu'à intercepter l'axe des abscisses. Le nouveau point obtenu est ainsi plus proche du zéro
de la fonction, et on recommence l'opération jusqu'à la précision souhaitée.

Mathématiquement, on peut décrire la méthode ainsi:


En un point x au voisinage du point initial x0 , on peut écrire (développement de Taylor):
f ( x) = f ( x 0 ) + ( x − x0 ) f ' ( x0 ) + O (( x − x0 ) 2 )
On cherche le point x tel que f(x) = 0, donc tel que
f (x )
x = x0 − ' 0 + O(( x − x0 ) 2 )
f ( x0 )
f (x )
Le point d'abscisse x0 − ' 0 est donc une estimation de la racine cherchée à un terme d'ordre
f ( x0 )
( x − x 0 )2 près. On voit donc que si on se trouve à une distance h de la racine, la nouvelle valeur ainsi
calculée est à une distance h 2 . Lorsque h est petit (c'est-à-dire dans le voisinage de la racine) la méthode
converge donc de façon quadratique (par rapport à une convergence linéaire pour la méthode de
dichotomie).
2. Algorithme
Soit une fonction f de [a,b] dans définie et dérivable et sur l'intervalle [a,b], et à valeurs réelles.
La régularité de f est ici minimale. Prenons x0 un réel arbitraire. Par récurrence, on définit la suite xn
par :

Où f' désigne la dérivée de la fonction f.


1
Méthode de la dichotomie
Le principe de la méthode de dichotomie est simple : il s'agit, à partir d'un encadrement dans un intervalle [a,b] d'une racine de
l'équation f(x)=0, de réduire la taille de cet intervalle jusqu'à la précision voulue, tout en gardant la racine à l'intérieur. Cela
suppose que la fonction change de signe au passage de la racine.

1
Exemple
Pour illustrer la méthode, recherchons le nombre positif x vérifiant cos( x) = x 3 . Reformulons la question
pour introduire une fonction devant s'annuler : on recherche le zéro positif (la racine) de
f ( x) = cos( x) − x 3 = 0 . La dérivation donne f ' ( x) = − sin( x) − 3 x 2 .
Comme cos( x) ≤ 1 pour tout x et x 3 > 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 .

Script
clc,clear,close all
fct=inline('cos(x)-x.^3');
dfct=inline('-sin(x)-3*x.^2');
x=-2:0.1:2;
f=fct(x);plot(x,f);grid on
clear x
x(1)=input('Donner la valeur initiale x(1) :');
e=1e-5;
N=500;%nombre maximum d'itérations
for n=1:N
f=fct(x(n));
df=dfct(x(n));
x(n+1)=x(n)-f/df;
if(abs(x(n+1)-x(n)))<=e
xp=x(n+1);
fprintf('\nla solution xp = %f\n',xp);
break
end

end
fprintf('\n f(xp)= %e\n',fct(xp));

3. Limites
Cette méthode est très efficace dès qu'on est proche de la racine cherchée. De plus, elle se transpose
"facilement" au cas multi-dimensionnel. Elle a cependant certaines limites.
Le premier inconvénient de la méthode est le besoin de la dérivée de la fonction à calculer. Si on a une
expression analytique de cette fonction, cela ne pose pas de problème. Cependant, il arrive souvent que ce
ne soit pas le cas. Il faut alors évaluer numériquement la dérivée de cette fonction, ce qui est très délicat.
Une des limites de la méthode apparaît clairement dans sa formulation : si on se trouve en un point de
dérivée nulle, la méthode flanche. Numériquement, cela apparaît dès que la dérivée est voisine de zéro,
auquel cas la nouvelle valeur calculée est très grande: Le point d'intersection de la tangente et de l'axe des
x est rejeté à l'infini.

2
Résolution d'équations non linéaires dans Matlab
fonction « fzero »

inline
Construct inline object

Syntax
inline(expr)
inline(expr,arg1,arg2,...)

Description
inline(expr) constructs an inline function object from the MATLAB expression contained in the string
expr. The input argument to the inline function is automatically determined by searching expr for an
isolated lower case alphabetic character, other than i or j, that is not part of a word formed from several
alphabetic characters. If no such character exists, x is used. If the character is not unique, the one closest
to x is used. If two characters are found, the one later in the alphabet is chosen.

inline(expr,arg1,arg2,...) constructs an inline function whose input arguments are specified by the
strings arg1, arg2,.... Multicharacter symbol names may be used.

Example 1

This example creates a simple inline function to square a number.

g = inline('t^2')
g =
Inline function:
g(t) = t^2
Example 2
This call to inline defines the function f to be dependent on two variables, alpha and x:
f = inline('sin(alpha*x)')

f =
Inline function:
f(alpha,x) = sin(alpha*x)
If inline does not return the desired function variables or if the function variables are in the wrong order,
you can specify the desired variables explicitly with the inline argument list.
g = inline('sin(alpha*x)','x','alpha')

1. fzero
Find zero of a function of one variable
Syntax
x = fzero(fun,x0)
x = fzero(fun,x0,options)
[x,fval] = fzero(...)
Description
x = fzero(fun,x0) tries to find a zero of fun near x0, if x0 is a scalar. fun is a function. The value x
returned by fzero is near a point where fun changes sign, or NaN if the search fails.

3
If x0 is a vector of length two, fzero assumes x0 is an interval where the sign of fun(x0(1)) differs from
the sign of fun(x0(2)). An error occurs if this is not true. Calling fzero with such an interval guarantees
fzero will return a value near a point where fun changes sign.

Examples

Example 1. Calculate by finding the zero of the sine function near 3.


f1=inline('sin(x)')
x = fzero(f1,3)
x =
3.1416
Example 2. To find the zero of cosine between 1 and 2
f2=inline('cos(x)')
x = fzero(f2,[1 2])
x =1.5708
Note that cos(1) and cos(2) differ in sign.
Example 3. To find a zero of the function

f = inline(‘x.^3-2*x-5’);
Then find the zero near 2:
z = fzero(f,2)
z=
2.0946
Exercice1
1. Résoudre manuellement l’équation non linéaire x = ln (12 − x )  en utilisant la méthode de
 2

 3 
Newton-Raphson en prenant comme valeur initiale x0 = 1.2000. Arrêter les calculs après 5
itérations.
2. Résoudre l’équation donnée en (1) par les commandes Matlab.
Exercice 2
1

1. Résoudre manuellement l’équation non linéaire x = e x par la méthode de Newton-Raphson en


prenant comme valeur initiale x0 = 2.000. Arrêter les calculs après 5 itérations.
2. Résoudre l’équation donnée en (1) par les commandes Matlab.
3. soit a un nombre réel positif. Comment peut-on calculer a par la méthode de Newton-
Raphson pour la résolution des équations non linéaires ?

Vous aimerez peut-être aussi