méthode de la sécante · 2003. 8. 31. · 1 1 dans la méthode de newton on remplace: ( ) '(...

Post on 19-Aug-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Méthode de la sécante• La méthode de Newton nécessite le calcul de

la dérivée de la fonction f(x).• Cette dérivée peut être difficile à calculer (par

ex. f(x)=x2 3x cos(2x). [f’(x)=2x 3x cos(2x)+ x2 3x cos(2x) ln(3)- 2x2 3x

sin(2x)]. • On construit la suite (xn)

11

1

( ),( ) ( )

nn n n n

n n

n n

f xx x h a v e c hf x f x

x x

+−

= + = − − −

Interprétation géométrique

y = f(x)

Solution de f(x)=0

x0

approximation initialesécante

x1 sécante x2

et on continue….

1

1

Dans la méthode de Newton on remplace:( ) ( )'( )

et on obtient la méthode de la sécante

n nn

n n

f x f xf xx x

−≈−

REMARQUES• La dérivée n’apparaît plus • On doit fournir deux valeurs initiales (x0 et x1)• Il n’est pas nécessaire que f change de signe dans l’intervalle [x0,x1]

Comparaison des deux méthodes pour f(x)=cos(x)-x

[x_newton,err_newton] = newton('ma_fonction','ma_derivee',2,20,1e-6,'resul_newton.dat')

[x_secante,err_secante] = secante('ma_fonction',-2,2,20,1e-6,'resul_secante.dat');

• Méthode de Newton• -----------------

• Fonctions : • ---------

• F = cos(x)-x;

• dF = -sin(x)-1;

• Arguments initiaux :• ------------------• Nombre maximal d'iterations : nmax = 20• Critere d'arret : epsilon = 1.000000E-006• Estimation initiale : x_0 = 2.000000E+000

• Iter. x_i f(x_i)

• 0 2.0000000000E+000 -2.416147E+000• 1 7.3453616885E-001 7.605544E-003• 2 7.3908972421E-001 -7.683544E-006• 3 7.3908513322E-001 -7.788770E-012

• 4 7.3908513322E-001 0.000000E+000

• Approximation finale de la racine:

• r = 7.3908513322E-001• ---------------------------------

• Méthode de la sécante• ---------------------

• Fonction : • --------

• F = cos(x)-x;

• Arguments initiaux :• ------------------• Nombre maximal d'iterations : nmax = 20• Critere d'arret : epsilon = 1.000000E-006• Estimations initiales : x_0 = -2.000000E+000 • x_1 = 2.000000E+000

• Iter. x_i f(x_i)

• 0 -2.0000000000E+000 1.583853E+000• 1 2.0000000000E+000 -2.416147E+000• 2 -4.1614683655E-001 1.330800E+000• 3 4.4199409882E-001 4.619064E-001• 4 8.9818426644E-001 -2.751530E-001• 5 7.2788307210E-001 1.870137E-002• 6 7.3872131907E-001 6.088348E-004• 7 7.3908603857E-001 -1.515218E-006• 8 7.3908513314E-001 1.217437E-010

• 9 7.3908513322E-001 1.110223E-016

• Approximation finale de la racine:

• r = 7.3908513322E-001• ---------------------------------

11

11

1

1 1

1

A

B

( ) ( )( )( ) ( )( ) ( )

( ) ( )( ) ( )

n n n nn n n

n nn n

n n

n n n n

n n

f x f x x xx x xf x f xf x f x

x xx f x x f xf x f x

−+

−−

− −

−= − = − =− −

− −=

On voit que nous pouvons exprimer xn+1 de deux façons qui sont équivalente mathématiquement. Laquelle choisir? Pourquoi?

On choisit A, car en calculant le numérateur de B on risque de soustraire des nombrespresque identiques quand n est grand.

REMARQUE

Analyse de la convergence

1 11 1

1 1

Soit * la racine simple de ( ) 0 (c.à.d '( *) 0). De pluson suppose que ''( *) 0. On a:

( )( ) ( )( ) , (1)( ) ( ) ( ) ( )

où * .( ) ( * *) ( *).

La formu

n n n n n nn n n n

n n n n

n n

n n n

x f x f xf x

f x x x f x e ex x e ef x f x f x f x

e x xf x f x x x f e x

− −+ +

− −

= ≠≠

− −= − ⇔ = −− −

= −= − + = +

2

-1

11

le de Taylor en * s'écrit:''( *) ( * ) ( *) '( *) ...2

On remplace , par et et on remplace dans (1). Il s'en suit:''( *)2 '( *)

n n

n nn

xf xf x f x f x

e ef x e ee

f x

δ δ δ

δ

−+

+ = + + +

1

2

On cherche (l'ordre de convergence) tel que

Un calcul simple montre que est la solution positive de :

1 51 0 (le nombre d'or)2

De 1< 2, on déduit que la convergence n'est pas linéair

n ne eα

αλ

α

α α α

α

+

+− − = ⇒ =

< e et ellen'est pas quadratique. On parle de convergence superlinéaire

Méthode des points fixesOn remarque que la méthode de Newton s’écrit

1

1

( )( ), où ( ) .'( )

En supposant la convergence ( *) et la continuité de on obtient

lim lim ( ) * ( *)

nn n n n

n

n

n nn n

f xx g x g x xf x

x x g

x g x x g x

+

+→∞ →∞

= = −

= ⇔ =

Un point x* qui satisfait l’égalité qui est encadrée s’appelle point fixe de g.Cette définition est valable pour toute fonction. Un point fixe est une valeur invariante pour une fonction.

L’utilité des points fixes• Dans l’étude de l’évolution des systèmes dissipatifs celle-ci étant

supposée déterministe car décrite soit par un flot autonome continu dX(t)/dt=G(X(t)), soit par une application à temps discret x(k+1)=g(x(k)).

- Le point fixe: il correspond à un état stationnaire du système (pas d'évolution)

• Les attracteurs sont des formes géométriques qui caractérisent l'évolution à long terme des systèmes dynamiques dans l'espace des phases, espace schématisant la trajectoire que décrit le système avant d'entrer dans un état d'équilibre. Avant 1963, les seuls attracteurs connus étaient les points fixes, les cycles limites et les tores. Un pendule simple qui oscille en perdant de l'énergie suit des trajectoire en forme de spirales qui vont converger vers un point fixe. Ce point fixe est l'attracteur de ce système. D'autres systèmes, périodiques, ne se stabilisent jamais. Un pendule simple idéal (sans perte d'énergie), décrira indéfiniment le même mouvement. Sa trajectoire est un cycle (courbe fermée).

Algorithme du point fixeBut: Trouver la solution de x = g(x)

Entrée: N (nombre d’itérations), x0(point initial), ε(critère d’arrêt)Sortie: x* la solution

0

0

0

1. 12. tant que ( ) faire étapes 3 jusqu'à 6

3. ( )| |4. Si alors * STOP.

| |5. 16.

7. La méthode n'a pas convergé après N itérations6. FIN

nn Nx g xx x x xx

n nx x

ε

=≤

=− < =

= +=

Exemple: (choix de g)Résoudre x3 +4x2 -10=0 avec la méthode des points fixes.

3 21

2

33

4

3 2

5 2

( ) ( ) 4 1 0

1 0( ) ( ) 4

1( ) ( ) (1 0 )2

1 0( ) ( )4

4 1 0( ) ( )3 8

a x g x x x x

b x g x xx

c x g x x

d x g xx

x xe x g x xx x

= = − − +

= = −

= = −

= = +

+ −= = −+

%programme (Choix de g)clear all

x0 = 1.5;N = 40;epsilon =1e-6;

[x1, err1] = ptfixe('g1',x0,N,epsilon,'resul1.dat');[x2, err2] = ptfixe('g2',x0,N,epsilon,'resul2.dat');[x3, err3] = ptfixe('g3',x0,N,epsilon,'resul3.dat');[x4, err4] = ptfixe('g4',x0,N,epsilon,'resul4.dat');[x5, err5] = ptfixe('g5',x0,N,epsilon,'resul5.dat');

function g = g1(x)

g = x-x^3-4*x^2+10;

function g = g2(x)

g = sqrt(10/(4+x));

function g = g3(x)

g = sqrt(10-x^3)/2;

function g = g4(x)

g = sqrt(10/(4+x));

function g = g5(x)

g = x-( (x^3+4*x^2-10)/(3*x^2+8*x));

g1.m g2.m

g4.m

g3.m

g5.m

c8ex2.m

Methode des points fixes ------------------------

Fonction : --------

g = x-x^3-4*x^2+10;

Arguments initiaux :------------------Nombre maximal d'iterations : nmax = 40Critere d'arret : epsilon = 1.000000E-006Estimation initiale : x_0 = 1.500000E+000

Iter. x_i g(x_i) |x_i - x_i-1|/|x_i|

0 1.5000000000E+000 -8.7500000000E-001 ------1 -8.7500000000E-001 6.7324218750E+000 2.7142857143E+0002 6.7324218750E+000 -4.6972001200E+002 1.1299680882E+0003 -4.6972001200E+002 1.0275455519E+008 1.0143328402E+0004 1.0275455519E+008 -1.0849338705E+024 1.0000045713E+0005 -1.0849338705E+024 1.2770555914E+072 1.0000000000E+0006 1.2770555914E+072 -2.0827129086E+216 1.0000000000E+000

Il n'y a pas de convergence après 6 itérations.

Résultats pour g1(x)

Methode des points fixes ------------------------

Fonction : --------

g = sqrt(10/x-4*x);

Arguments initiaux :------------------Nombre maximal d'iterations : nmax = 40Critere d'arret : epsilon = 1.000000E-006Estimation initiale : x_0 = 1.500000E+000

Iter. x_i g(x_i) |x_i - x_i-1|/|x_i|

0 1.5000000000E+000 8.1649658093E-001 ------1 8.1649658093E-001 2.9969088058E+000 8.3711730709E-0012 2.9969088058E+000 0.0000000000E+000 7.2755374493E-0013 0.0000000000E+000 2.7536223884E+000 1.4276609148E+0004 2.7536223884E+000 1.8149915190E+000 1.6243728458E+000…………………………………………………………………………………

38 2.2747548784E+000 2.2747548784E+000 1.6919286512E+00039 2.2747548784E+000 2.2747548784E+000 1.6919286512E+00040 2.2747548784E+000 2.2747548784E+000 1.6919286512E+000

Il n'y a pas de convergence apres 40 iterations.

Résultats pour g2(x)

Résultats pour g3(x)

Methode des points fixes ------------------------

Fonction : --------

g = sqrt(10-x^3)/2;

Arguments initiaux :------------------Nombre maximal d'iterations : nmax = 40Critere d'arret : epsilon = 1.000000E-006Estimation initiale : x_0 = 1.500000E+000

Iter. x_i g(x_i) |x_i - x_i-1|/|x_i|

0 1.5000000000E+000 1.2869537676E+000 ------1 1.2869537676E+000 1.4025408035E+000 1.6554303483E-0012 1.4025408035E+000 1.3454583740E+000 8.2412601205E-0023 1.3454583740E+000 1.3751702528E+000 4.2426009320E-002

…………………………………………………………………………………..15 1.3652236802E+000 1.3652332557E+000 1.3699948095E-005

16 1.3652332557E+000 1.3652283535E+000 7.0138323816E-00617 1.3652283535E+000 1.3652308632E+000 3.5908131122E-00618 1.3652308632E+000 1.3652295783E+000 1.8383564841E-00619 1.3652295783E+000 1.3652302362E+000 9.4116747716E-007

Approximation finale du point fixe: r = 1.3652295783E+000----------------------------------

Résultats pour g4(x)

Methode des points fixes ------------------------

Fonction : --------

g = sqrt(10/(4+x));

Arguments initiaux :------------------Nombre maximal d'iterations : nmax = 40Critere d'arret : epsilon = 1.000000E-006Estimation initiale : x_0 = 1.500000E+000

Iter. x_i g(x_i) |x_i - x_i-1|/|x_i|

0 1.5000000000E+000 1.3483997249E+000 ------1 1.3483997249E+000 1.3673763720E+000 1.1242977306E-0012 1.3673763720E+000 1.3649570154E+000 1.3878144638E-0023 1.3649570154E+000 1.3652647481E+000 1.7724782257E-0034 1.3652647481E+000 1.3652255942E+000 2.2540149182E-0045 1.3652255942E+000 1.3652305757E+000 2.8679474722E-0056 1.3652305757E+000 1.3652299419E+000 3.6488436441E-0067 1.3652299419E+000 1.3652300225E+000 4.6424066090E-007

Approximation finale du point fixe: r = 1.3652299419E+000----------------------------------

Résultats pour g5(x)

Methode des points fixes ------------------------

Fonction : --------

g = x-( (x^3+4*x^2-10)/(3*x^2+8*x));

Arguments initiaux :------------------Nombre maximal d'iterations : nmax = 40Critere d'arret : epsilon = 1.000000E-006Estimation initiale : x_0 = 1.500000E+000

Iter. x_i g(x_i) |x_i - x_i-1|/|x_i|

0 1.5000000000E+000 1.3733333333E+000 ------1 1.3733333333E+000 1.3652620149E+000 9.2233009709E-0022 1.3652620149E+000 1.3652300139E+000 5.9119190095E-0033 1.3652300139E+000 1.3652300134E+000 2.3439975794E-0054 1.3652300134E+000 1.3652300134E+000 3.6774003661E-010

Approximation finale du point fixe: r = 1.3652300134E+000----------------------------------

Conclusion: le choix de g est important. Quel critère utiliser ?Comment choisir g pour que la méthode des points fixes converge ?

Analyse de la convergence de la méthode des points fixes

0

1

1

S o i t * u n p o in t f ix e d e g (x ) , i .e . * ( * ) . (1)

S o i t d o n n é e t ( ) . ( 2 )

O n n o te * , (3 )

l 'e r r e u r à l 'i t é r a t io n .O n s o u s t r a i t * a u x d e u x m e m b re s d e (2 ) . O n o b t ie n t , e n u t i l i s a n t (1 )

n n

n n

n

xx g x

xx g x

e x xn

x

e g

+

+

=

=

= −

= ( ) * ( ) ( * ) ( 4 )n nx x g x g x− = −

2 3

1

On peut réécrire (3) comme:* . (3 ')

Le développement de Taylor nous donne:''( *) '''( *)

g( * ) ( *) '( *) ...2 3!

On remplace dans (4) pour obtenir:( ) ( *) g( * ) ( *)

n n

n n n n

n n n

n

x x e

g x g xx e g x g x e e e

e g x g x x e g x

e

+

+

= +

+ − = + + +

= − = + − ⇒

2 31

''( *) '''( *)'( *) ... (5)

2 3!n n n

g x g xg x e e e= + + +

Le premier terme non nul du membre de droite de (5) déterminera la convergence.

1

C a s p o s s ib le s :) '( * ) 0 .

E n ig n o ra n t le s te rm e s d 'o rd re 2 o n a'( * )

L 'e rre u r d im in u e s i

|g '(x * ) |< 1

P lu s '( * ) e s t p e t i t p lu s la c o n v e rg e n c e e s t ra p id e . D a n s c e c a s la c o n v e rg e n c e e s t lin é a ire

II)

n n

I g x

e g x e

g x

+

≠≥

'( * ) 0 e t ''( * ) 0L a c o n v e rg e n c e e s t q u a d ra t iq u e... . . .

g x g x= ≠

Influence du point initial x0Points attractifs et points répulsifs

Un mauvais choix de x0 peut résulter en un algorithme divergent.

Définition (bassin d’attraction)Soit x* un point fixe de g. L’ensemble des points

initiaux x0 pour lesquels la suite engendrée par l’algorithme des points fixes converge vers x* s’appelle le bassin d’attraction de x*.

En pratique x0 est choisit proche de x*

Définition Un point fixe x* de g est dit attractif si :

|g’(x*)|<1et répulsif si

|g’(x*)|>1.Le cas |g’(x*)|=1 est indéterminé

Pour les systèmes dynamiques un attracteur est un ensemble compact de l'espace des phases, invariant par le flot ou par l'application, vers lequel toutes les trajectoires environnantesconvergent.Le bassin d'attraction est alors l'ensemble des points dont les

trajectoires convergent vers l'attracteur.

Résultat assurant la convergence de la méthode des points fixes

Théorème

0

Soit l'intervalle [ , ] .Si(1) est une fonction continue sur telle que ( ) et(2) g'(x) 1,alors tout les points I appartiennent au bassin d'attraction de l'unique point fixe * de sur

I a b

g I g I Ik x I

xx g

=

⊆≤ < ∀ ∈

∈ .I

y=g(x) y=g(x)

x

y

x

x

y

y

y=x y=x

y=x(x*,g(x*))

(x*,g(x*)) (x*,g(x*))

y=g(x)

θ

θ θ

'( *) tan (0,1)g x θ= ∈

'( *) tan 1g x θ= >

'( *) tan ( 1,0)g x θ= ∈ −

Interprétation géométrique

y=f(x)

y=x

x0

(?,g(x0))

x1

g(x0)

(?,g(x1))

x2

Accélération de la convergenceExtrapolation d’Aitken – Algorithme de Steffenson

Convergence linéaire -> convergence quadratique !

Pour une méthode qui converge linéairement on utilise formule d’extrapolation d’Aitken.

En utilisant la formule d’Aitken, Steffenson a construit un algorithme qui permet d’accélérer la convergence de la méthode des points fixes.

1

S o it u n e su ite q u i c o n v e rg e lin é a ire m e n t v e rs *

a v e c u n e e rre u r a sym p to tiq u e < 1 , i .e .| * |

lim < 1 . (1 )| * |

O n s e p ro p o se d e c o n s tru ire u n e su ite q u i c o n v e rg ep lu s ra p id e m e n t v e rs

n

n

nn

n

x x

x xx x

x

λ

λ+

→ ∞

−=

1 2

1

21

2 1

21

2 1

* q u e .

D e (1 ) , p o u r a s se z g ra n d o n a * *

( 2 )* *

D e (2 ) o n d é d u it fa c ile m e n t

( )*

2

O n d é fin it a lo rs c o m m e su it :

( )2

n

n n

n n

n nn

n n n

n

n nn n

n n n

x x

nx x x xx x x x

x xx x

x x x

x

x xx x

x x x

λ+ +

+

+

+ +

+

+ +

− −≈ ≈

− −

−≈ −

− +

−= −

− +

Un théorème nous permet alors d’affirmer que la suite que nous avons construite grâce à la formule d’extrapolation d’Aitkenconverge plus rapidement que la suite initiale.

En effet, on peut démontrer que

*lim 0

*n

nn

xx xx

→∞

−=

Algorithme de Steffenson

0

-11 0 1

-12 1 2

20 1

02 1 0

0

0

: , ,1) T ant que i N

( ), (calcul de )

( ), (calcul de )

( ) .2

2) T est de convergence :

solution. ST O P| |

4) i= i+15) . R e

i

i

A itken

A itkene

A itken

A itken

Données N x

x g x xx g x x

x xx xx x x

x xsi x

x

x x

ε

ε

≤=

=

−= −− +

−< ⇒

= tour à 1)6) Pas de convergence en N itérations

Exemple : x3+4x2-10=0, avec g(x)=100.5 (x+4) -0.5 et x0=1.5

1.3652300132

1.3652305831.3652255341.3652652241

1.3673763721.3483997251.50

x2x1x0k

On a eu besoin de 7 itérations pour atteindre le même résultat avec la méthode des points fixes classique. Grâce à l’algorithme de Steffenson la méthode des points fixesdevient une méthode qui a une convergence quadratique

Remarques concernant la méthode de Newton et la méthode des points fixes:

• La méthode de Newton est un cas particulier de la méthode des points fixes où

• Il est possible d’étudier l’analyse de la convergence de la méthode de Newton pour le cas des racines multiples grâce à la première remarque

( )( )'( )f xg x xf x

= −

DéfinitionUne racine * de ( ) 0 est dite de multiplicité

si la fonction ( ) peut s'écrire sous la forme( ) ( - *) ( ),

Avec ( *) 0

m

x f xm f x

f x x x h xh x

=

=≠

( 1) ( )

ThéorèmeUne racine * est de multiplicité si et seulement si

'( ) ''( *) .... ( *) 0 ( *) 0 m m

x mf x f x f x et f x−= = = = ≠

• On peut montrer que dans le cas d’une racine multiple de multiplicité m, la méthode de Newton dégénère en une méthode d’ordre 1. On a:

• m grand => convergence lente car 1-1/m est proche de 1(plus petit que 1)• La convergence de la méthode de Newton est

quadratique pour les racines simples (dans les hypothèses du théorème du cours précédent, cours7.ppt, acétate 17)

• On peut avoir des ordres de convergence plus élevés pour des cas particuliers (voir problème 19)

1 1lim '( *) 1n

nn

e g xe m

+

→∞= = −

top related