Ricerca di zeri - enrigri/Corsi/InformaticaAstro_0809/Lezione09.pdf · • Il metodo di bisezione...

download

of 24

  • date post

    15-Feb-2019
  • Category

    Documents
  • view

    213
  • download

    0

Embed Size (px)

transcript

Ricerca di zeri

DEI - Univ. Padova (Italia)

Equazioni non lineari

Il problema ricavare le radici (gli zeri) di una funzione f(x), cio i valori z:

f(z)=0

quando non si possa ottenere la soluzione in forma chiusa (una formula)

DEI - Univ. Padova (Italia)

Separazione delle radici

Per semplificare il problema e renderlo trattabile, bisogna individuare un intervallo I=[a,b] contenente un solo zero:

Separazione delle radici

DEI - Univ. Padova (Italia)

Metodi iterativi

Un metodo iterativo fornisce una successione di approssimazioni alla soluzione {xn}:

Avendo gi a disposizione k approssimazioni, un metodo iterativo fornisce la n-esima:

zxnn =lim

),,,( 21 knnnnn xxxGx = K

DEI - Univ. Padova (Italia)

Velocit di convergenza

Data una successione di approssimazioni {xn} convergente a z, si definisce lerrore di troncamento al passo n-esimo:

La successione ha ordine di convergenza p e fattore di convergenza C se:

il valore di p d una indicazione della velocit con cui la soluzione viene raggiunta

nn xze =

Ce

ep

n

n

n=+

1lim

DEI - Univ. Padova (Italia)

Efficienza computazionale

Se p=1 la convergenza lineare Se p=2 la convergenza quadratica

per grandi n le cifre raddoppiano ad ogni iterazione

E se un metodo fa molte pi operazioni a parit di p?

Lefficienza computazionale guarda il numero r di valutazioni della funzione f(x) e delle sue derivate

rpE /1=

DEI - Univ. Padova (Italia)

Teorema di Bolzano

Sia f(a)

DEI - Univ. Padova (Italia)

Dimostrazione: metodo di bisezione

Il metodo di bisezione ci fornisce metodo per costruire una successione convergente a z:

Nnbax

bbaa

nnn ,,12

11

00

K=+

=

==

Se f(xn)=0 allora z=xn, altrimenti:

DEI - Univ. Padova (Italia)

Dimostrazione: metodo di bisezione

{an} monotona non-decrescente {bn} monotona non-crescente

nnnnnncba

== limlimlim

)()(lim0)(lim)(

)(lim)(lim)(

cfafafcf

bfafcf

nnnn

nnnn

==

==

DEI - Univ. Padova (Italia)

Metodo di bisezione:esempio

I1I2

I3

I4

f(x)=(x-1)2-x-2

DEI - Univ. Padova (Italia)

Metodo di bisezione:esempio

iterazioni

cn

iterazioni

f(cn)

Valore vero dello zero

DEI - Univ. Padova (Italia)

Metodo di bisezione: convergenza

Al passo k dellalgoritmo

kkkkk

kkabababxze

222/)(

2002211 ==

=

= L

02

limlim 00 = kkkk

abe

E dunque la stima dellerrore dopo k passi

DEI - Univ. Padova (Italia)

Metodo di bisezione: convergenza

Per k grande si ottiene che:

1 kkk xxe

21

11 +

k

k

e

e

E dunque si ha:

Da cui lordine di convergenza p=1

DEI - Univ. Padova (Italia)

Metodo di bisezione: Criterio di arresto

Non possiamo eseguire il procedimento per infinite iterazioni

Quando fermarsi?

= kkk abab

220011

22 log)(log abk

DEI - Univ. Padova (Italia)

Metodo di bisezione: Matlab

function z=Bisezione(f,a,b,tol,display);

an=a;bn=b;cn=(bn+an)/2;

while((bn-an)>tol)

cn=(bn+an)/2;

f1=feval(inline(f),an);f2=feval(inline(f),cn);f3=feval(inline(f),bn);if(f1*f2

DEI - Univ. Padova (Italia)

Punti fissi

Ho una funzione non-lineare f(x) di cui voglio trovare una radice z t.c. f(z)=0

Posso trovare una funzione ausiliara:

h(x)=x-(x)

con gli stessi zeri di f(x)

)(0)( xxxf ==

DEI - Univ. Padova (Italia)

Data una contrazione:

Allora esiste uno ed un solo punto fisso z

Teorema delle contrazioni (Banach-Cacioppoli)

IxqxqRIII

)(')1,0(:

)(

lim

1

=

=

nn

nn

xx

zx

DEI - Univ. Padova (Italia)

Metodo del punto fisso: convergenza

Lordine di convergenza della successione costruita col teorema di Banach dipende dalla funzione () nellintorno del punto fisso z

Se f(z) derivabile almeno p-volte in z, e:

allora lordine di convergenza p

0)(1,,10)(

)(

)(

)(

=

==

=

zpkz

zz

p

k

K

DEI - Univ. Padova (Italia)

Metodo del punto fisso: criterio di arresto

Se il metodo converge e una contrazione:

111111

1

)()(

+++

nnnnnnnnnn

nnn

xxxzqxxxzxxxzxz

xxqxz

La successione converge con ordine di convergenza q

Disuguaglianza triangolare

DEI - Univ. Padova (Italia)

Metodo del punto fisso: criterio di arresto

Se il metodo converge e una contrazione:

01

1

1

1

xxq

qxz

xxq

qxz

n

n

nnn

Stima dellerrore al passo n-esimo

Stima iniziale dellerrore dopo n passi

DEI - Univ. Padova (Italia)

Metodo del punto fisso : esempio

f(x)=(x-1)2-x-2

Proviamo a scegliere(x)=(x-1)2-2

con x in I=[0,4]

x0=2x1=(x0)=-1x2=(x1)=2x3=-1x4=2

DEI - Univ. Padova (Italia)

Metodo del punto fisso : esempio

Bisogna verificare che (x) sia una

contrazione in I!!!

DEI - Univ. Padova (Italia)

Metodo del punto fisso: esempio

Proviamo a scegliere(x)=(x+2)1/2+1con x in I=[0,4]

(x)

DEI - Univ. Padova (Italia)

Metodo del punto fisso: Matlab

function z=PuntoFisso(f,a,b,tol,display);

j=1;cn=(a+b)/2;z(j)=cn;fz(j)=feval(inline(f),cn);

cold=cn+1;while(abs(cold-cn)>tol)

cold=cn;cn=feval(inline(f),cn); j=j+1;z(j)=cn;

end;

Condizione di convergenza

Inizializzazione

Iterazione di punto fisso

Ricerca di zeriEquazioni non lineariSeparazione delle radiciMetodi iterativiVelocit di convergenzaEfficienza computazionaleTeorema di BolzanoDimostrazione: metodo di bisezioneDimostrazione: metodo di bisezioneMetodo di bisezione:esempioMetodo di bisezione:esempioMetodo di bisezione: convergenzaMetodo di bisezione: convergenzaMetodo di bisezione: Criterio di arrestoMetodo di bisezione: MatlabPunti fissiTeorema delle contrazioni (Banach-Cacioppoli)Metodo del punto fisso: convergenzaMetodo del punto fisso: criterio di arrestoMetodo del punto fisso: criterio di arrestoMetodo del punto fisso : esempioMetodo del punto fisso : esempioMetodo del punto fisso: esempioMetodo del punto fisso: Matlab