metodi iterativi

42
Metodi iterativi Metodi iterativi per l per l approssimazione delle radici approssimazione delle radici dell dell equazione f(x)=0 equazione f(x)=0 dicembre 2000 dicembre 2000 aprile 2007 aprile 2007

description

metodi iterativi per lo studio e la approssimazione degli zeri di una funzione con il punto unito, le tangenti e il punto medio

Transcript of metodi iterativi

Page 1: metodi iterativi

Metodi iterativi

Metodi iterativi

per l

per l ’’ approssimazione delle radici

approssimazione delle radici

dell

dell ’’equazione f(x)=0

equazione f(x)=0 dicembre 2000

dicembre 2000

aprile 2007

aprile 2007

Page 2: metodi iterativi

Definizione

Definizione

��Si chiam

a RAD

ICE di una equazione

Si chiam

a RAD

ICE di una equazione

a(x)=b(x)

a(x)=b(x)

un num

ero (reale) u tale che

un num

ero (reale) u tale che

a(u)=b(u)

a(u)=b(u)

oppure tale che

oppure tale che

a(u)

a(u)-- b(u)=0

b(u)=0

Page 3: metodi iterativi

Presentazione

Presentazione

��Non tutte le equazioni danno la possibilit

Non tutte le equazioni danno la possibilitàà

di determinarne le radici con m

etodi

di determinarne le radici con m

etodi

analitici, ovvero con passaggi algebrici in

analitici, ovvero con passaggi algebrici in

grado di arrivare alla forma

grado di arrivare alla forma

x=

x= ……

come ad esempio le equazioni

come ad esempio le equazioni

x=cos(x) , cos(x)

x=cos(x) , cos(x) =

ln=ln(x), 2^x=

2cos(x)

(x), 2^x=

2cos(x) ……

Page 4: metodi iterativi

��Per essere certi dell

Per essere certi dell ’’esistenza delle

esistenza delle

radici dell

radici dell ’’ equazione a(x)=b(x) si

equazione a(x)=b(x) si

ricorre al grafico nel piano

ricorre al grafico nel piano

cartesiano delle due curve

cartesiano delle due curve

y=a(x) e di y=b(x).

y=a(x) e di y=b(x).

Se queste si intersecano allora

Se queste si intersecano allora

ll ’’ ascissa del o dei pun

ti di contatto

ascissa del o dei pun

ti di contatto

sono le radici dell

sono le radici dell ’’ equazione di

equazione di

partenza

partenza

Page 5: metodi iterativi

(x(x-- 2)(x

2)(x-- 3)(x

3)(x-- 1)=cos(x)+sin(3x)

1)=cos(x)+sin(3x)

-2-1012

-10

12

34

Page 6: metodi iterativi

½½^x=

1+sin(

^x=

1+sin(ππx)x)

0

0.51

1.52

2.5

-2-1

01

23

45

Page 7: metodi iterativi

��Nell

Nell ’’ impossibilit

impossibilit àà

di arrivare alla

di arrivare alla

espressione analitica della radice

espressione analitica della radice

u=u=……

si costruisce una successione

si costruisce una successione

aa nntale che

tale che

��Ci si

Ci si ““accontenta

accontenta””pertanto di una

pertanto di una

stima di u a m

eno di una precisione

stima di u a m

eno di una precisione

prefissata che si indica con

prefissata che si indica con εε

uan

n=

∞→lim

Page 8: metodi iterativi

Il metodo di bisezione

Il metodo di bisezione

��LL ’’equazione a(x)=b(x) possiam

o farla

diventare

equazione a(x)=b(x) possiam

o farla

diventare

della forma f(x)=0 ponendo f(x):=a(x)

della forma f(x)=0 ponendo f(x):=a(x)-- b(x)

b(x)

��determ

iniamo un

a successione

determ

iniamo un

a successione cc nn

convergente

convergente

alla radice in questo modo:

alla radice in questo modo:

��partiamo da due estremi a e b rispettivam

ente a

partiamo da due estremi a e b rispettivam

ente a

sinistra e a destra della radice tali che

sinistra e a destra della radice tali che

f(a)f(b)<0; si calcola il punto m

edio dei due

f(a)f(b)<0; si calcola il punto m

edio dei due

estrem

i e si valuta in quale dei due intervalli la

estrem

i e si valuta in quale dei due intervalli la

radice

radice èè

rimasta

rimasta

Page 9: metodi iterativi

��Infatti se f(a)f(c)<0 allora la radice sar

Infatti se f(a)f(c)<0 allora la radice sar àà

compresa tra a e c, viceversa fra c e b

compresa tra a e c, viceversa fra c e b

��Ripetiamo questo procedimento finch

Ripetiamo questo procedimento finchéé

lo scarto fra a e b

lo scarto fra a e b èèminore di un certo

minore di un certo

errore prefissato

errore prefissato εε

��LL ’’ultim

o dei valori rappresenta la stim

a ultim

o dei valori rappresenta la stim

a della radice u (che rimane ancora

della radice u (che rimane ancora

analiticamente incognita)

analiticamente incognita)

��Si dimostra che il numero di iterazioni

Si dimostra che il numero di iterazioni

necessario per giungere alla

necessario per giungere alla

approssimazione vale

approssimazione vale

ε−≥

ab

n2

log

Page 10: metodi iterativi

Esem

pio con il foglio elettronico

Esem

pio con il foglio elettronico

Metodo di bisezione

f(x)=x-cos(2*x)

ab

cf(a)

f(b)

f(c)

03

1.5

-+

+

01.5

0.75

-+

+

00.75

0.375

-+

-

0.375

0.75

0.5625

-+

+

0.375

0.5625

0.46875

-+

-

0.46875

0.5625

0.515625

-+

+

0.46875

0.5156250.492188

-+

-

0.4921880.5156250.503906

-+

-

0.5039060.5156250.509766

-+

-

0.5097660.5156250.512695

-+

-

0.5126950.5156250.51416

-+

-

0.51416

0.5156250.514893

-+

-

0.5148930.5156250.515259

-+

+

0.5148930.5152590.515076

-+

+

0.5148930.5150760.514984

-+

+

0.5148930.5149840.514938

-+

+

0.5148930.5149380.514915

-+

-xmin

-4

xmax

5

0.5149150.5149380.514927

-+

-

0.5149270.5149380.514933

-+

-

0.5149330.5149380.514935

-+

+

-6

-4

-202468

-5

05

10

Page 11: metodi iterativi

Un altro esem

pio

Un altro esem

pio

Metodo di bisezione

f(x)=ln(x)-sin(2*x)

ab

cf(a)

f(b)

f(c)

12

1.5

-+

+

11.5

1.25

-+

-

1.25

1.5

1.375

-+

-

1.375

1.5

1.4375

-+

+

1.375

1.4375

1.40625

-+

+

1.375

1.40625

1.390625

-+

-

1.3906251.40625

1.398438

-+

-

1.3984381.40625

1.402344

-+

+

1.3984381.4023441.400391

-+

+

1.3984381.4003911.399414

-+

-

1.3994141.4003911.399902

-+

+

1.3994141.3999021.399658

-+

+

1.3994141.3996581.399536

-+

+

1.3994141.3995361.399475

-+

+

1.3994141.3994751.399445

-+

+

1.3994141.3994451.399429

-+

+

1.3994141.3994291.399422

-+

-xmin

0.001

xmax

5

1.3994221.3994291.399426

-+

-

1.3994261.3994291.399427

-+

-

1.3994271.3994291.399428

-+

-

-8

-7

-6

-5

-4

-3

-2

-10123

02

46

Page 12: metodi iterativi

��Function

FunctionBisezione(a,b, optional prec=

0.001)

Bisezione(a,b, optional prec=

0.001)

Dim

Dim

c,c,fcfc,fa,

,fa,fbfb

ififf(a)

f(a)*f*f(b)>0

(b)>0 then

then

Bisezione=

Bisezione=

““ Errore all

Errore all ’’inizio

inizio””

Exit

Exit Function

Function

end

end ifif

Do

Do

c=0.5*(a+b)

c=0.5*(a+b)

ififf(a)

f(a)*f*f(c)<0

(c)<0 then

then

b=c

b=c

else

else

a=c

a=c

end

end ifif

Loop

Loop

until

until

Abs

Abs (b(b-- a)<a)<prec

prec

Bisezione=

cBisezione=

c

End

End Function

Function

�Functionf(x)

f=………………

End Function

Page 13: metodi iterativi

Si approssim

ino le radici dell

Si approssim

ino le radici dell’’ equazione 2^x=2

equazione 2^x=2-- x^2

x^2

-3-2-1012345

-3-2

-10

12

3

Dal grafico si evince che una radice si

troverà

nell’intervallo (-2;-1)

Infatti

Bisezione(-2,-1)=-1.2568359375

Bisezione(-1.26,-1,25,.0000001)=

-1.2576912689209

Allo stesso modo

Bisezione(0,1) = 0.6533203125

Page 14: metodi iterativi

Il metodo del pun

to

Il metodo del pun

to

unito

unito

Risolve l

Risolve l ’’equazione

equazione

x=g(x)

x=g(x)

Page 15: metodi iterativi

Caratteristiche

Caratteristiche

��Il MB ha il pregio di essere chiaro e una

Il MB ha il pregio di essere chiaro e una

volta im

postato converge alla radice.

volta im

postato converge alla radice.

Tuttavia

Tuttavia

ÈÈpiuttosto lento

piuttosto lento

Necessita di due sem

i iniziali a e b tali che

Necessita di due sem

i iniziali a e b tali che

f(a)f(b)<0

f(a)f(b)<0

Ad ogni iterazione

Ad ogni iterazione èènecessario il controllo

necessario il controllo

f(a)f(c)<0

f(a)f(c)<0 ……

Page 16: metodi iterativi

caratteristiche

caratteristiche

��Il metodo del punto unito (MPU

) Il metodo del punto unito (MPU

) èè

invece facilm

ente im

plem

entabile e

invece facilm

ente im

plem

entabile e

necessita di un solo sem

e iniziale.

necessita di un solo sem

e iniziale.

Infatti, data l

Infatti, data l ’’equazione nella forma

equazione nella forma

x=g

x=g (x) dove g

(x) dove g èè

una funzione reale,

una funzione reale,

la successione si costruisce con

la successione si costruisce con

>=

+0

)(

1

0

nx

gx

dato

x

nn

Page 17: metodi iterativi

Caratteristiche

Caratteristiche

��LL ’’interpretazione

interpretazione

grafica

grafica èèsemplice:

semplice:

consiste nel

consiste nel

determ

inare le

determ

inare le

ascisse dei pun

ti di

ascisse dei pun

ti di

intersezione della

intersezione della

bisettrice

bisettrice y=x

y=xcon il

con il

grafico della curva

grafico della curva

y=g(x)

y=g(x)

-2-101234567

02

46

Page 18: metodi iterativi

��La successione del MPU

consiste nell

La successione del MPU

consiste nell ’’andare dalla curva alla retta

andare dalla curva alla retta

bisettrice nel m

odo illustrato nella figura:

bisettrice nel m

odo illustrato nella figura:

Page 19: metodi iterativi
Page 20: metodi iterativi

Si può vedere che il MPU

pur essendo facilm

ente

Si può vedere che il MPU

pur essendo facilm

ente

implem

entabile presenta alcuni limiti, alcuni sostanziali

implem

entabile presenta alcuni limiti, alcuni sostanziali

��Può, a volte, essere pi

Può, a volte, essere pi ùù

lento del M

Blento del M

B��Non permette di prevedere il num

ero massimo

Non permette di prevedere il num

ero massimo

di iterazioni necessarie per giungere alla stim

a di

di iterazioni necessarie per giungere alla stim

a di

u a meno di

u a meno di εε

��La convergenza non

La convergenza non èè

garantita per tutte

garantita per tutte

le radici dell

le radici dell’’ equazione

equazione(alcune si e altre no)

(alcune si e altre no)

Page 21: metodi iterativi

Implem

entazione in VBA

Implem

entazione in VBA

Functiong(x)

g=…..

End Function

FunctionUnito(x, Optional eps=0.001)

Dim

u, u0, n, scarto

u0=x

n=0

Do

u=g(u0)

Scarto=Abs(u-u0)

n=n+1

u0=u

LoopUntilScarto<epsor n>1000 or u=0

Unito=Iif(n<1000,u,”non lo so”)

End Function

Page 22: metodi iterativi

Applicando il metodo del PU all’equazione x=x/1.1 che

ha per radice u=0 ci si accorge che può essere molto lento:

nx

01

10.909090909

20.826446281

30.751314801

40.683013455

50.620921323

60.56447393

70.513158118

80.46650738

90.424097618

100.385543289

110.350493899

120.318630818

130.28966438

140.263331254

150.239392049

160.217629136

170.197844669

180.17985879

190.163507991

200.148643628

210.135130571

100

0.0000725657159015

101

0.0000659688326377

102

0.0000599716660343

103

0.0000545196963948

104

0.0000495633603589

105

0.0000450576003263

106

0.0000409614548421

107

0.0000372376862201

108

0.0000338524420182

109

0.0000307749472893

110

0.0000279772248085

111

0.0000254338407350

112

0.0000231216733954

113

0.0000210197030868

114

0.0000191088209880

115

0.0000173716554436

116

0.0000157924140396

117

0.0000143567400360

118

0.0000130515818509

119

0.0000118650744099

120

0.0000107864312818

Dopo 100

iterazioni si ha

ancora uno scarto

di 0.00001

Page 23: metodi iterativi

Il M

PU può generare successioni del tutto casuali che

non convergono e non divergono:

Ad esempio x=sin(πx)

Page 24: metodi iterativi

Condizione NS per la

Condizione NS per la

convergenza del PU

convergenza del PU

��Co

ndizione necessaria e sufficiente

Condizione necessaria e sufficiente

affinch

affinchééla successione del m

etodo

la successione del m

etodo

iterativo

iterativo

converga alla radice incognita u

converga alla radice incognita u èè

che

che

|g|g’’ (u)|<1

(u)|<1

≥=

+0

)(

1

0

nx

gx

dato

x

nn

Page 25: metodi iterativi

��Naturalmente non conoscendo il

Naturalmente non conoscendo il

valore esatto di u

valore esatto di u èè

impossibile

impossibile

determ

inare a priori dal punto di vista

determ

inare a priori dal punto di vista

analitico la convergenza. Tu

ttavia

analitico la convergenza. Tu

ttavia èè

possibile valutare qualitativam

ente il

possibile valutare qualitativam

ente il

campo di variabilit

campo di variabilitààdi |g

di |g ’’(x)| e

(x)| e

stabilire pertanto se l

stabilire pertanto se l ’’intervallo

intervallo èè

ragionevolmente accettabile per la

ragionevolmente accettabile per la

convergenza.

convergenza.

��Ve

diam

o un esempio:

Vediam

o un esempio:

Page 26: metodi iterativi

��LL ’’equazione

equazione x=

exp

x=exp ((-- x) x)

ha una sola soluzione

ha una sola soluzione

compresa fra 0 e 1:

compresa fra 0 e 1:

la derivata

la derivata

gg ’’(x)=

(x)=

-- exp(

exp(-- x) in tale

x) in tale

intervallo varia da

intervallo varia da –– 1 a

1 a

circa

circa –– 00.4.4

��Il valore di |g

Il valore di |g ’’(u)|

(u)|

pertanto

pertanto èè

<1

<1

-1.2-1

-0.8

-0.6

-0.4

-0.20

00.5

11.5

-1.5-1

-0.50

0.51

1.52

2.53

-1.5

-1-0.5

00.5

11.5

22.5

y=g’(x)

Page 27: metodi iterativi

Vediamo i calcoli del m

etodo:

x 0

0.2

x 1

0.818730753

x 2

0.440991026

x 3

0.64339848

x 4

0.525503473

x 5

0.591257607

x 6

0.553630597

x 7

0.574858936

x 8

0.562784252

x 9

0.569620886

x 10

0.565739878

x 11

0.567939785

x 12

0.566691744

x 13

0.56739944

x 14

0.566998036

x 15

0.567225677

x 16

0.567096567

x 17

0.56716979

x 18

0.567128262

x 19

0.567151814

x 20

0.567138456

x 21

0.567146032

x 0

0.5

x 1

0.60653066

x 2

0.545239212

x 3

0.579703095

x 4

0.560064628

x 5

0.571172149

x 6

0.564862947

x 7

0.568438048

x 8

0.566409453

x 9

0.567559634

x 10

0.566907213

x 11

0.567277196

x 12

0.567067352

x 13

0.56718636

x 14

0.567118864

x 15

0.567157144

x 16

0.567135434

x 17

0.567147746

x 18

0.567140763

x 19

0.567144724

x 20

0.567142478

x 21

0.567143751

x 0

0.7

x 1

0.496585304

x 2

0.608605318

x 3

0.5441092

x 4

0.580358537

x 5

0.559697658

x 6

0.57138179

x 7

0.564744541

x 8

0.568505358

x 9

0.566371329

x 10

0.567581272

x 11

0.566894946

x 12

0.567284155

x 13

0.567063406

x 14

0.567188598

x 15

0.567117595

x 16

0.567157864

x 17

0.567135025

x 18

0.567147978

x 19

0.567140632

x 20

0.567144798

x 21

0.567142435

Page 28: metodi iterativi

��Ve

diam

o un contro esem

pio:

Vediam

o un contro esem

pio:

ll ’’ equazione

equazione x=

exp

x=exp ((-- 4x). Dal grafico

4x). Dal grafico

della g

della g’’ (x) possiam

o estrapolare che

(x) possiamo estrapolare che

nella radice la CNS non

nella radice la CNS non èèverificata

verificata

-2

-1.5-1

-0.50

0.51

1.52

2.53

-1.5

-1-0.5

00.5

11.5

22.5

y=g’(x)

y=g(x)

Page 29: metodi iterativi

Il metodo di New

ton

Il metodo di New

ton

Rapson

Rapson

Per approssimare le radici di

Per approssimare le radici di

f(x)=0

f(x)=0

Page 30: metodi iterativi

��LL ’’idea

idea èè

di creare una successione che

di creare una successione che

converga alla radice nel seguente

converga alla radice nel seguente

modo:

modo:

••Si parte da un sem

e x

Si parte da un sem

e x 00

••Si costruisce la retta tangente alla

Si costruisce la retta tangente alla

curva y=

f(x) passante per (x

curva y=

f(x) passante per (x

00, f(x

, f(x 00))))

••Si interseca tale retta con l

Si interseca tale retta con l ’’asse delle

asse delle

ascisse di

ascisse di eqeq.ne y=

0.ne y=

0••LL ’’ascissa di tale punto

ascissa di tale punto èèil term

ine x

il term

ine x 11

••Si itera il procedimento per x

Si itera il procedimento per x

22, x

, x 33

e e successivi

successivi

Page 31: metodi iterativi

��LL ’’implem

entazione necessita della

implem

entazione necessita della

conoscenza dell

conoscenza dell ’’ espressione della

espressione della

derivata prima della f, necessaria per

derivata prima della f, necessaria per

il calcolo della tangente. Infatti

il calcolo della tangente. Infatti

ll ’’ equazione della retta tangente vale

equazione della retta tangente vale

yy --f(f(xx nn)=f

)=f ’’ ((xx nn)()(xx --xx nn))

��Mettendo a sistem

a tale

Mettendo a sistem

a tale eqeq.ne con

.ne con

ll ’’ asse delle ascisse si ottiene il

asse delle ascisse si ottiene il

sistem

asistem

a

=

−=

0

))(

(')

(

y

xx

xf

xf

yn

nn

Page 32: metodi iterativi

��Il punto soluzione del sistema vale

Il punto soluzione del sistema vale

��Co

nsideriamo pertanto

Consideriamo pertanto

il metodo iterativo generante la

il metodo iterativo generante la

successione

successione

−0;

)('

)(

nnn

xf

xf

x

)('

)(

1nn

nn

xf

xf

xx

−=

+

Page 33: metodi iterativi

Esem

pio #1 x

Esem

pio #1 x22=0

=0

La radice, peraltro banale, x=

0 può

essere approssimata nel seguente

modo

nn

xx

xx

xx

xx

xf

xf

xx

21

21

21

2)

('

)(

1

2

=

=−

=−

=−

= +

Page 34: metodi iterativi

Esem

pio #2 x

Esem

pio #2 x

22=a

=a

)/

(5.

0

21

22

2

2)

('

)(

1

22

22

nn

nx

ax

x

xax

x

ax

x

ax

x

x

ax

xx

f

xf

xx

+=

+

=

=+

=+

−=

−−

=−

= +

Tale iterazione converge alla radice

quadrata di a.Èun ottimo metodo per il

calcolo della radice stessa

Page 35: metodi iterativi
Page 36: metodi iterativi

��Non sem

pre

Non sem

pre èèconveniente calcolare

conveniente calcolare

la derivata prima.

la derivata prima.

In tal senso la si può approssimare

In tal senso la si può approssimare

con il rapporto increm

entale

con il rapporto increm

entale

dove h

dove h èè

““ ragionevolmente

ragionevolmente””scelto

scelto

““ piccolo

piccolo ””

h

xf

hx

f)

()

(−

+

Page 37: metodi iterativi

Esem

pio #3

Esem

pio #3

��Tale fun

zione non

Tale fun

zione non èèderivabile per

derivabile per

x=1

x=1

��Il calcolo della derivata implica

Il calcolo della derivata implica

ll ’’ introduzione della fun

zione

introduzione della fun

zione sign

sign

(x)

(x)

��Il calcolo della derivata

Il calcolo della derivata èè““ pesante

pesante ””

��Scegliamo h=

0.01 e vediamo cosa

Scegliamo h=

0.01 e vediamo cosa

succede

succede

02

|1

|=

−−

x

Page 38: metodi iterativi

02

|1

|=

−−

x

Page 39: metodi iterativi

Partendo da x

0=0 si ottiene una successione convergente

all’altra radice x=

-3

Page 40: metodi iterativi

Se h èun poco “grossolano”?

Page 41: metodi iterativi

... e per finire ...

... e per finire ...

Seguendo il link

http://w

ww.francococca.com

/estrai_articolo.asp?id=117

si possono scaricare i fogli relativi ai m

etodi

visti e provare per conto proprio.

Page 42: metodi iterativi