0% ont trouvé ce document utile (0 vote)
25 vues3 pages

Méthode Newton-Raphson en Python

Le document présente la méthode de Newton-Raphson pour résoudre des équations non-linéaires, en décrivant son principe et les étapes itératives nécessaires pour améliorer l'estimation de la solution. Il inclut également des exemples d'application de cette méthode en Python, avec des équations spécifiques à résoudre. Enfin, il aborde le développement en série de Taylor et l'utilisation de la matrice jacobienne dans le cadre de systèmes à n dimensions.

Transféré par

Doudou Ndiaye
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
25 vues3 pages

Méthode Newton-Raphson en Python

Le document présente la méthode de Newton-Raphson pour résoudre des équations non-linéaires, en décrivant son principe et les étapes itératives nécessaires pour améliorer l'estimation de la solution. Il inclut également des exemples d'application de cette méthode en Python, avec des équations spécifiques à résoudre. Enfin, il aborde le développement en série de Taylor et l'utilisation de la matrice jacobienne dans le cadre de systèmes à n dimensions.

Transféré par

Doudou Ndiaye
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TP Python - Imlémentation de la méthode

Newton Raphson de résolution d’équations


nonlinaires
——————
Département Génie Electrique
UCAD - ESP
Prof. Lamine THIAW
———————————————————————————————

1 Principe de la méthode de Newton-Raphson


La méthode de Newton-Raphson fait partie des méthodes itératives permettant
de résoudre des équations non-linéaires.
Soit à résoudre l’équation définie par :

f (x) = c

Le principe de la méthode est illustré sur la figure 1. Il comporte les étapes


suivantes :
1. Si x(0) est une estimation initiale de la solution, et ∆x(0) une petite
déviation par rapport à la vraie solution, alors on peut écrire :

f (x(0) + ∆x(0) ) = c

2. Le développement en série de Taylor autour du point x(0) donne :


(0) (0)
d2 f
 
(0) df (0) 1
f (x )+ ∆x + (∆x(0) )2 + · · · = c
dx 2! dx2

3. En négligeant les termes de degrés élevés, on obtient : ∆c(0) = c −


 (0)
df
f (x(0) ) ' dx ∆x(0)
4. Connaissant l’estimation de l’erreur ∆x(0) , il est alors possible de dé-
terminer une nouvelle estimation de la solution : x(1) = x(0) + ∆x(0) =
(0)
x(0) + ∆c
df (0)
( dx )

1
5. De façon similaire, on peut obtenir ∆c(1) = c − f (x(1) ) et x(2) =
(1)
x(1) + ∆cdf (1)
( dx )
6. La solution est ainsi améliorée itérativement, jusqu’à ce que la précision
souhaitée soit obtenue.

Figure 1 – Principe de la méthode de Newton-Raphson

On peut ainsi résumer l’algorithme de Newton-Raphson comme suit :


1. Partant d’une estimation xk de la solution, calculer

∆c(k) = c − f (x(k) )

2. Calculer l’erreur :
∆c(k)
∆x(k) =  (k)
df
dx

3. L’estimation suivante de la solution est :

x(k+1) = x(k) + ∆x(k)

4. Répéter les itérations jusqu’à ce que la précision  (fixée d’avance) soit


obtenue :
|x(k+1) − xk | ≤ 
Pour un système à n-dimension :

f1 (x1 , x2 , · · · , xn ) = c1
f2 (x1 , x2 , · · · , xn ) = c2
... ... ...
fn (x1 , x2 , · · · , xn ) = cn

2
Le développement en série de Taylor autour du point x(0) en négligeant les
termes d’ordre élevé donne :

 ∂f1 (0) ∂f1 (0) ∂f1 (0)


 (0)

c1 − (f1 )(0) ( ∂x ) ( ∂x ) ... ( ∂x )
 
1 2 n
∆x1
∂f2 (0) ∂f2 (0) ∂f2 (0) (0)
c2 − (f2 )(0)   ( ∂x1 ) ( ∂x2 ) ... ( ∂x )   ∆x2
   
  n

=

 .. .. .. ..
 .. 
.   .
 
  . . ...  . 
cn − (fn )(0) ( ∂f n (0)
∂x1 ) ( ∂f n (0)
∂x2 ) ... ∂fn (0)
( ∂x ) ∆x
(0)
n
n

∆C (k) = J (k) ∆X (k)


⇒ ∆X (k) = [J (k) ]−1 ∆C (k)
∆X - vecteur des résidus
∆C - vecteur des incréments
J - matrice jacobienne
On met à jour l’estimation par :

X (k+1) = X (k) + ∆X (k)

2 Implémentation de la méthode de Newton-


Raphson
Ecrire un programme Python permettant de résoudre des équations nonlinaires
en appliquant la méthode Newton Raphson.
Appliquer la méthode aux exemples ci-dessous.

3 Example 1

x4 − 21x3 + 147x2 − 379x + 252 = 0


On utilisera comme solution initiale x(0) = 0.

4 Example 2

x21 − x22 + x23 = 11


x1 x2 + x22 − 3x3 = 3
x1 − x1 x3 + x2 x3 = 6
(0) (0) (0)
On utilisera comme solutions initiales : x1 = 1, x2 = 1 and x3 = 1.

Vous aimerez peut-être aussi