La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

METODI NUMERICI PER LA RICERCA DEGLI ZERI DI UNA FUNZIONE Prof. Stefano Gori Liceo Scientifico Salutati – Montecatini Terme.

Presentazioni simili


Presentazione sul tema: "METODI NUMERICI PER LA RICERCA DEGLI ZERI DI UNA FUNZIONE Prof. Stefano Gori Liceo Scientifico Salutati – Montecatini Terme."— Transcript della presentazione:

1

2 METODI NUMERICI PER LA RICERCA DEGLI ZERI DI UNA FUNZIONE Prof. Stefano Gori Liceo Scientifico Salutati – Montecatini Terme

3 TEOREMA DI ESISTENZA Data una funzione f continua nellintervallo chiuso e limitato [a;b], se negli estremi dellintervallo la funzione assume valori di segno opposto allora esiste almeno un punto interno ad [a;b] in cui f(x)=0.

4 PRIMO TEOREMA DI UNICITÀ È data f(x) continua in [a;b]e derivabile in (a;b). Per f(x) sussistano le ipotesi del teorema di esistenza. Se f(x) 0 in (a;b), allora lo zero è unico.

5 SECONDO TEOREMA DI UNICITÀ È data f(x) continua in [a;b] e derivabile due volte in (a;b). Per f(x) sussistano le ipotesi del teorema di esistenza. Se f(x) non cambia segno in (a;b), allora lo zero è unico.

6 METODI 1.Bisezione 2.Secanti (o corde) 3.Tangenti (o metodo di Newton)

7 Problema: ricerca degli zeri di y= sen x – log x In [1;3] sono verificate le ipotesi del secondo teorema di unicità.

8 BISEZIONE Problema: ricerca degli zeri di y= sen x – log x Posto: x 1 =a=1 f(x 1 )=0,84>0 x 2 =b=3 f(x 2 )=-0,96<0 Si considera il punto medio x 3 =2 f(x 3 )=0,22>0 Siccome f(x 3 ) è positiva come f (x 1 ), x 3 sostituisce x 1 nella definizione dellintervallo. Al posto di [1;3], a questo passo, consideriamo pertanto lintervallo [2;3].

9 BISEZIONE Problema: ricerca degli zeri di y= sen x – log x Abbiamo quindi: x 2 =b=3 f(x 2 )=-0,96<0 x 3 =2 f(x 3 )=0,22>0 Si considera il punto medio x 4 =2,5 f(x 4 )=-0,318<0 Siccome f(x 4 ) è negativa come f (x 2 ), x 4 sostituisce x 2 nella definizione dellintervallo. Al posto di [2;3], a questo passo, consideriamo pertanto lintervallo [2;2,5].

10 BISEZIONE Problema: ricerca degli zeri di y= sen x – log x Sapevamo allinizio che lo zero era compreso in [1;3]. Dopo due passi, sappiamo che lo zero è compreso in [2;2,5]. A ogni passo, lampiezza dellintervallo si dimezza (bisezione). Problema: quando ci si ferma? Il processo si può arrestare quando lampiezza dellintervallo è minore di un valore prefissato (ad esempio, un milionesimo). Per le funzioni a forte pendenza, fissato arbitrario e positivo, ci si può fermare quando |f(x)|<.

11 ESEMPIO CON MATLAB x(1)=1; a=x(1); x(2)=3; b=x(2); y(1)=sin(x(1))-log(x(1)); fa=y(1); y(2)=sin(x(2))-log(x(2)); fb=y(2); for i=1:1000 x(i+2)=(a+b)/2; y(i+2)=sin(x(i+2))- log(x(i+2)); if y(i+2)*fa>0 a=x(i+2); fa=y(i+2); end if y(i+2)*fa<0 b=x(i+2); fb=y(i+2); end if abs(y(i+2))<1E-04 ind=i; break end display('ascissa=') a display('ordinata=') y(ind+2) display('numero di iterazioni=') ind Output ascissa= a = ordinata= ans = e-006 numero di iterazioni= ind = 14

12 SECANTI Problema: ricerca degli zeri di y= sen x – log x Posto: a=1 f(a) b=3 f(b) Si costruisce la secante per (x 1,f(x 1 )) e (b, f(b)) e se ne determina il punto x 1 di intersezione con lasse x. x 1 sostituisce a nella definizione dellintervallo.

13 SECANTI Si procede poi calcolando x n+1, che sostituisce x n nella definizione dellintervallo: Questo procedimento è corretto se: 1.f(a)>f(b) e la concavità è verso il basso, come nellesempio 2.f(a)f(b) e la concavità è verso lalto 4.f(a)

14 ESEMPIO CON MATLAB a=1; b=3; fa=sin(a)-log(a); fb=sin(b)-log(b); x(1)=a-fa*(b-a)/(fb-fa); for i=1:1000 y(i)=sin(x(i))-log(x(i)); x(i+1)=x(i)-y(i)*(b-x(i))/(fb-y(i)); if abs(y(i))<1E-04 ind=i; break end display('ascissa=') x(i) display('ordinata=') y(i) display('numero di iterazioni=') ind Output ascissa= ans = ordinata= ans = e-005 numero di iterazioni= ind = 6

15 TANGENTI Problema: ricerca degli zeri di y= sen x – log x Posto: x 1 =a=1 f(x 1 ) x 2 =b=3 f(x 2 ) Si costruisce la tangente per (x 2, f(x 2 )) e se ne determina il punto x 3 di intersezione con lasse x. x 3 sostituisce x 2 nella definizione dellintervallo.

16 TANGENTI Si procede poi calcolando x n+1, che sostituisce x n nella definizione dellintervallo, sempre dalla stessa parte destra. Questo procedimento è corretto se: 1.f(a)>f(b) e la concavità è verso il basso, come nellesempio 2.f(a)f(b) e la concavità è verso lalto 4.f(a)

17 ESEMPIO CON MATLAB realizzato da Macchini Matteo e Castiglia Dario, classe 5B A.S. 2007/2008 Liceo Scientifico Salutati – Montecatini T. a=1 b=3 fb=sin(b)-log(b); m(1)=cos(b)-(1/b); x(1)=(m(1)*b-fb)/m(1); for i=1:1000 y(i)=sin(x(i))-log(x(i)); m(i+1)=cos(x(i))-(1/(x(i))); x(i+1)=(m(i)*(x(i))-(y(i)))/(m(i)); if abs(y(i))<1E-04 ind=i; break end display('ascissa=') x(i) display('ordinata=') y(i) display('numero di iterazioni=') ind Output ascissa= ans = ordinata= ans = e-006 numero di iterazioni= ind = 4


Scaricare ppt "METODI NUMERICI PER LA RICERCA DEGLI ZERI DI UNA FUNZIONE Prof. Stefano Gori Liceo Scientifico Salutati – Montecatini Terme."

Presentazioni simili


Annunci Google