METODI NUMERICI PER LA RICERCA DEGLI ZERI DI
- Slides: 16
METODI NUMERICI PER LA RICERCA DEGLI ZERI DI UNA FUNZIONE Prof. Stefano Gori Liceo Scientifico Salutati – Montecatini Terme
TEOREMA DI ESISTENZA Data una funzione f continua nell’intervallo chiuso e limitato [a; b], se negli estremi dell’intervallo la funzione assume valori di segno opposto allora esiste almeno un punto interno ad [a; b] in cui f(x)=0.
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.
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.
METODI 1. Bisezione 2. Secanti (o corde) 3. Tangenti (o metodo di Newton)
Problema: ricerca degli zeri di y= sen x – log x In [1; 3] sono verificate le ipotesi del secondo teorema di unicità.
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 dell’intervallo. Al posto di [1; 3], a questo passo, consideriamo pertanto l’intervallo [2; 3].
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 dell’intervallo. Al posto di [2; 3], a questo passo, consideriamo pertanto l’intervallo [2; 2, 5].
BISEZIONE Problema: ricerca degli zeri di y= sen x – log x Sapevamo all’inizio che lo zero era compreso in [1; 3]. Dopo due passi, sappiamo che lo zero è compreso in [2; 2, 5]. A ogni passo, l’ampiezza dell’intervallo si dimezza (bisezione). Problema: quando ci si ferma? Il processo si può arrestare quando l’ampiezza dell’intervallo è 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)|< .
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 Output if abs(y(i+2))<1 E-04 ind=i; break end display('ascissa=') a display('ordinata=') y(ind+2) display('numero di iterazioni=') ind a= ascissa= 2. 2190 ordinata= ans = -9. 5557 e-006 numero di iterazioni= ind = 14
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 l’asse x. x 1 sostituisce a nella definizione dell’intervallo.
SECANTI Si procede poi calcolando xn+1, che sostituisce xn nella definizione dell’intervallo: Questo procedimento è corretto se: 1. f(a)>f(b) e la concavità è verso il basso, come nell’esempio 2. f(a)<f(b) e la concavità è verso l’alto Altrimenti, se: 3. f(a)>f(b) e la concavità è verso l’alto 4. f(a)<f(b) e la concavità è verso il basso rimane fisso l’estremo sinistro dell’intervallo ed è il destro ad avvicinarsi allo zero.
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)); Output ascissa= ans = 2. 2191 ordinata= if abs(y(i))<1 E-04 ind=i; break end display('ascissa=') x(i) display('ordinata=') y(i) display('numero di iterazioni=') ind ans = 1. 9643 e-005 numero di iterazioni= ind = 6
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 l’asse x. x 3 sostituisce x 2 nella definizione dell’intervallo.
TANGENTI Si procede poi calcolando xn+1, che sostituisce xn nella definizione dell’intervallo, sempre dalla stessa parte destra. Questo procedimento è corretto se: 1. f(a)>f(b) e la concavità è verso il basso, come nell’esempio 2. f(a)<f(b) e la concavità è verso l’alto Altrimenti, se: 3. f(a)>f(b) e la concavità è verso l’alto 4. f(a)<f(b) e la concavità è verso il basso rimane fisso l’estremo destro dell’intervallo ed è il sinistro ad avvicinarsi allo zero.
ESEMPIO CON MATLAB realizzato da Macchini Matteo e Castiglia Dario, classe 5 B 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)); Output ascissa= ans = 2. 2191 ordinata= if abs(y(i))<1 E-04 ind=i; break end display('ascissa=') x(i) display('ordinata=') y(i) display('numero di iterazioni=') ind ans = -1. 9146 e-006 numero di iterazioni= ind = 4
- Teorema di unicità degli zeri
- Punti di discontinuità
- Giochi numerici
- Recupero fatti numerici
- Il concetto di rapporto
- Fatti numerici cosa sono
- Igiene alimentare nutrizione e benessere
- Disegni quasi sperimentali
- Ricerca per immagini
- Ricerca per immagini
- Ricerca per immagini
- Ricerca per immagini
- Ricerca per immagini
- Le muffe e i lieviti scuola primaria
- Operazioni con la virgola esercizi
- Cfare eshte jehona
- Donato calista dermatologo