Zeri e radici di equazioni non lineari e sistemi di ...

download Zeri e radici di equazioni non lineari e sistemi di ...

of 62

  • date post

    14-Feb-2019
  • Category

    Documents

  • view

    225
  • download

    0

Embed Size (px)

Transcript of Zeri e radici di equazioni non lineari e sistemi di ...

Zeri e radici di equazioni non lineari e sistemi di equazioni

non lineari

2

Equazioni non lineari: generalit

Problema: ricavare le radici o zeri di una funzione (eventual-mente non lineare e/o trascendente) f(x) cio trovare quelo quei valori tale che:

( ) 0=fSe la soluzione non esprimibile in forma chiusa il problema pu essere risolto numericamente

Molteplicit di una radice: radice semplice se f()0 ,multipla di molteplicit se:

( ) ( ) ( ) 01,,1,00 )()( == fkf k K

3

Eq. non lineari: separazione delle radici

Individuazione di un intervallo I=[a,b] (detto intervallo di separazione) contenente una sola radice, metodi di ausilio:

studio sommario del grafico decomposizione della funzione f(x)=g(x) h(x) e ricerca dei punti di

intersezione g(x)=h(x) tabulazione della funzione (passo della tabulazione)

Teorema: se f(x) C0[a,b] e f(a)f(b)

4

Separazione delle radici: esempi

Esempio 3.2.1: f(x)=ln(x+1)+sqrt(x+2)-1

Esempio 3.2.2: f(x)=tan(x)*[1-cos(x)]-2

Esercizio: uso di MatLab, grafico dellesempio 3.2.1

5

Eq. non lineari: metodo delle bisezioni

x1=a1=a20a 10 bb =x2= b2

0I

1I

2I

[ ] [ ]2

,, 001000baxbabaI +==

01

11

01

01

0)()(0)()(

bbxa

bfxfafxf

==

[ ]2

, 112111baxbaI +=

22

12

12

12

0)()(0)()(

xbaa

bfxfafxf

==

>= toll & niter

9

Metodo delle bisezioni: MatLab

>> format short e

>> f='log(x+1)+sqrt(x+2)-1';

>> [csi,Niter]=bisezione(f,-1/2,0,1e-20,9);

1.0000e+000 -2.5000e-001 3.5194e-002 2.0334e-002

2.0000e+000 -3.7500e-001 -1.9525e-001 1.0467e-001

. . . . . . . . .

9.0000e+000 -2.7051e-001 -3.0503e-004 1.7422e-004

>> csi, Niter

csi = -2.7051e-001

Niter = 9

10

Metodi iterativi: generalit Un metodo iterativo fornisce una successione di approssi-

mazioni {xn} tale che:

In generale:

con Gn funzione di iterazione

Errore di troncamento:

Ordine (p) e fattore (C) di convergenza:

Efficienza computazionale:

= nn

xlim

( ) + = NnkxxxGx knnnnn 1,,, 21 K

nn xe =

Ce

ep

n

n

n=+

1lim

rpE /1=

11

Metodo delle bisezioni: convergenza

xk bk-1ak-1

kI

ak

bkak-1 xk+1

kI

1+kI

Errore al passo k:

kkk

kk Iabxe ==

211

Errore al passo k+1:

22 11k

kkk

kIIabe == ++

Ad ogni passo il massimo dellerrore si dimezza, il metodo convergente.

12

Metodo delle bisezioni: convergenzaErrore al passo k:

( )

( )kkk

kk

kkkkkk

abeabab

ababxe

222

22/

200

222

2211

==

=

=

=

=

L

La quale fornisce una stima a priori dellerrore com-messo dopo k passi, e dalla quale:

== kkkk

xe lim0lim

Il metodo delle bisezioni fornisce una successione di approssimazioni convergente (non monotona).

13

Metodo delle bisezioni: ordine

xk bk-1

xk-1 xk+1

211 +

k

k

ee

1 kkk xxePer k grande: quindi:

Il metodo ha ordine di convergenza 1, ad ogni passo lerrore si dimezza.

14

Metodo delle bisezioni: criterio di arrestoQuando arrestare la procedura iterativa? Ad esempio quando lintervallo di separazione minore di una fissata tolleranza :

= nnn abab

2211

Da cui:( )

)(log)(log)(log)(log)(log)2(log)(log2

2222

222

++

abnabnnabab n

Dove n il numero minimo di iterazioni necessarie per ottenere una soluzione con un errore assoluto mi-nore di una certa tolleranza fissata .

15

Metodo delle bisezioni: esempio

Esempio 3.4.1: f(x)=ln(x+1)+sqrt(x+2)-1Intervallo di separazione I=[-1/2,0], quante iterazioni sono necessarie per avere un errore minore di 103 ?

966.8)(log)(log 22 abn

Dopo 9 iterazioni lerrore stimato :

49 10766.925.0

2)( == nn

abe

1.742 10-4-0.27050789|xn|xnn

Esercizio consigliato [GL] 1.1

16

Argomenti opzionali

Metodo delle bisezioni:

interpretazione geometrica

Metodo della falsa posizione:

interpretazione geometrica;

convergenza e fattore di convergenza

17

Metodi iterativi ad un puntoProblema: radice di una equazione non-lineare:

( ) ( )xxxf == 0

( ) ( ) == 0f

( )nn xx =+1

il punto unito della trasformazione :Scelti , ed un valore iniziale x0 , la successione:

costituisce il metodo del punto unito (metodo iterati-vo ad un punto stazionario).

18

Metodo del punto unito

xy = )(xy =

0x)( 01 xx =

)( 0x

)( 1x

)( 12 xx =

)( 2x

( )nn xx =+1

( )xx =

19

Metodo del punto unito: esempi

( ) )cos(xxxf = { }K3215160.73908513=

( ) ( ) 1)cos( 01 === xxxxx nn

1.6614 10-40.73918439977149208.6326 10-30.74423735490056101.3919 10-10.6542897904977832.0326 10-10.8575532158463923.1725 10-10.540302305868141| xn -(xn)|xnn ( )

( )( )

KKKK

K

K

K

0.6540.8570.540

23

12

01

======

xxxxxx

20

Metodo del punto unito: esempi

( ) xexxf =

( ) ( ) 001 === xexxx xnn

NaNInf5Inf3.8143 1064

3.8143 1011.5154 10131.2436 1012.71832

1.71831.00001|xn-(xn)|xnn

21

Metodo del punto unito: esempi

( )

+==

==22

02 22

2

xxxx

xxxf { }2,12,1 =x

( ) 223 = xx( ) 21 ++= xx 00 =x( ) xx /214 +=( ) 22 += xx

0.00000.00000.00000.00000

1.99041.96161.84781.4142

x1(n)

-0.9428-1.1111-0.7654-1.4142

x2(n)

2.00002.00002.0000

-2.0000

x3(n)

Inf4Inf3Inf2Inf1

x4(n)n

22

Metodo del punto unito: convergenza (c.n.)

Teorema: se la successione xn=(xn-1), con x0 dato con-vergente a t, e se (x) continua in t, allora t punto unito della trasformazione (x).

Nota: si tratta di una condizione necessaria.

)()lim()(limlim 11 txxxt nnnnnn ====

23

Metodo del punto unito: convergenza (c.s.)

Teorema del punto unito: sia (x) derivabile in I=[a,b] e si abbia:

a) (x) : b) k(0,1) tale che |(x)| k con xI

cio (x) sia una contrazione, allora:c) esiste un unico punto unito, cio I tale che ()=d) ed inoltre la successione xn+1=(xn) convergente per qualunque

scelta di x0I, cio x0I si ha:

Nota: La convergenza del metodo del punto unito dipende dalla scelta di (x) e di x0.

= nn

xlim

24

Teorema del punto unito: dimostrazione

bbaaIbaIx = )(,)(],[:)( Dalla:

Se vale una uguaglianza, allora a o b punto unito di .Altrimenti:

0)()(0)()(

)()(>=

25

Teorema del punto unito: dimostrazione

Per lunicit del punto unito, ipotizziamo per assurdo che ne esistano due distinti 1 e 2:

( ) 21212121 )(')(')()(0 ===

> x=linspace(0,4,1000);

>> g=log(x)+2;

>> h=x.^2;

>> plot(x,g,x,h); )(xg

)(xh

e10

01

1

2345

2],1[ eI =

Intervallo di separazione

33

Metodo del punto unito: esempio

( ) 2)ln(02)ln( 22 +==+= xxxxxfNellintervallo di separazione I=[1,e], si ha ln(x)>0, e pertanto come funzione di iterazione si pu considerare:

( ) 2)ln( += xxNellintervallo di separazione (x) crescente, quindi:

exex

34

Metodo del punto unito: esempio

Per la derivata prima si ha:

( ) ( )2)ln(2

12)ln(2

/1'2)ln(+

=+

=+=xxx

xxxx

Nellintervallo di separazione (x) positiva e decrescente:

],1[122

1)1(')('0 exx

35

Metodo del punto unito: esempio

( ) 2)ln( 2 += xxxf

( ) 2/)1(2)ln( 0 exxx +=+=

3.3307 10-151.564462259202.6052 10-81.564462292101.7568 10-31.56666958038.6428 10-31.57531235324.3364 10-21.6186767761| xn-(xn)|xnn

36

Metodo del punto unito: esempio

Esercizio [GL] 1.3: data lequazione:

( ) ( ) 012 2 == xexf x

separarne le radici ed approssimarle mediante opportune funzioni di iterazione (metodo del punto unito).

37

Metodo del punto unito: esempio

( ) ( )212 = xexf x

-2 -1 0 1 2-1

0

1

2

3

4

5

6

( )21)()(

)()()(

=

=

=

xxh

exgxhxgxf

x

>> x=linspace(-2,2,1000);

>> g=exp(-x);

>> h=2*(x-1.)^2;

>> plot(x,g,x,h);

)(xg )(xh

38

Metodo del punto unito: esempio>> format short e;

>> toll=1e-20;nmax=20;

>> phi1=-(log(2)+2*log(1-x));

>> [zero,niter]=puntounito(phi1,-3,toll,nmax);

2.0000e+001 -3.8519e+000 1.1858e-008

>> [zero,niter]=puntounito(phi1,-4,toll,nmax);

>> phi2=1-exp(-x/2)/sqrt(2);

>> [zero,niter]=puntounito(phi2,0.0,toll,nmax);

>> phi3=1+exp(-x/2)/sqrt(2);

>> [zero,niter]=puntounito(phi3,1.5,toll,nmax);

39