Ricerca approssimata zero_f - IIS Severi

annuncio pubblicitario
Metodi di ricerca approssimata
dello zero di una funzione
F(z) = 0
I metodi presentati si basano sui teoremi
del calcolo infinitesimale calculus
Essi sono tra parentesi i teoremi su cui si basano:
• Bisezione corollario di Bolzano-Weierstrass sulle
funzioni continue
• Della secante corollario di Bolzano-Weierstrass
sulle funzioni continue
• Della tangente o di Newton derivabilità della
funzione
• Del punto unito derivabilità della funzione g(x) =
f(x) + x ed esistenza di un valore m compreso
strettamente tra zero e uno in modo tale da
soddisfare |g’(x)|  m x  [a;b]
Metodo di bisezione o dicotomico
L’efficacia di tale metodo è garantita dal teorema
di Bolzano:
“ Sia f(x) una funzione continua su un intervallo
chiuso e limitato [a;b],
se f(a)f(b) < 0
allora  z  (a;b) | f(z) = 0 ” .
F(x) = f(x) – g(x)
• Tracciare i grafici probabili delle funzioni f e g
o in alternativa tracciare direttamente il
grafico della funzione F(x).
• Trovare dei valori interi consecutivi per a e b
che soddisfino F(a) F(b)< 0
• La stima iniziale dello zero z è quindi
z = ( x0  0 ) , ove x0 è il valore centrale
ab
dell’intervallo [a;b] :
;
2
L’errore 0 …
mentre l’errore è stimato come semiampiezza
dell’intervallo in cui cade lo zero:
½
(se a e b sono interi consecutivi)
Si valuti ora il segno della funzione F in x0 :
ovviamente se F(x0) = 0 , x0 è la soluzione esatta;
altrimenti si restringerà l’intervallo di
applicazione del corollario di Bolzano
all’interno di quell’intervallo, tra i due ottenuti
mediante la bisezione sopra effettuata, che ne
soddisfa le condizioni di applicabilità.
I segni sono della funzione F(x)
Se F(x0) F(a) < 0
• allora lo zero è nell’intervallo di sinistra.
Dunque si ripeterà la procedura , avendo però
sostituito a b il valore x0 :
b1 = x0 ,
a1 = a ;
• altrimenti lo zero sarà nel’intervallo di destra.
Dunque si ripeterà la procedura, avendo però
sostituito ad a il valore x0 :
a1 = x0
b1 = b .
E’ necessario controllare che l’errore nell’approssimazione
rientri in quello ritenuto accettabile (sia esso )
Se la richiesta è di approssimare lo zero alla mesima cifra decimale allora deve essere
 < 510 –( m+1) . Poiché all’inizio del processo
dicotomico l’errore è ½ )e si dimezza ad ogni
iterazione) si ha che, all’n-esima iterazione,
 n  2  ( n 1)
Il numero di iterazioni necessarie per soddisfare
la richiesta è dato quindi dalla soluzione della
disequazione seguente: 2  n 1  5 10  ( m 1)
cioè:
m
n
Log (2)
è dunque sufficiente scegliere
 m 
n  1  INT 

 Log (2) 
Esempio: ex + 3x = 0
F(x) = f(x) – g(x)
2
y
f(x)
g(x)
1.5
1
0.5
0
-2
-1.5
-1
-0.5
0
0.5
1
-0.5
x
-1
Metodo della tangente o di Newton
Il metodi di Newton può essere molto veloce se
F’(x) assume valori assoluti molto grandi
nell’intervallo [a;b].
Esso consiste nell’iterare le intersezioni con
l’asse delle x della tangente al grafico di F(x)
nel valore approssimato dello zero
Nella diapositiva seguente viene precisata la
procedura.
Trovato un valore x0 da cui iniziare
L’equazione della retta tangente in x0 a F(x) è:
y = y0 + F’(x0)(x – x0) .
L’intersezione della retta con l’asse delle x
fornisce un nuovo valore approssimato dello
zero:
y0
x1  x0 
F ' ( x0 )
L’iterazione fornisce quindi la seguente
successione numerica definita per ricorrenza:
x0


xn  x  x  F ( xn )
n 1
n

F ' ( xn )

che è convergente allo zero z : F(z) = 0
• Si dimostra che, alla n-esima iterazione,
l’errore  è minore di |xn+1 – xn|
Esempio: ex + 3x = 0
il programma excel:
Metodo del punto unito
L’equazione F(x) = 0 può essere trasformata nel
sistema equivalente:
 y  F ( x)  x

 x y
che richiede le intersezioni del grafico della
bisettrice y = x con il grafico della funzione
G(x) = F(x) + x
Partendo da un valore x0
Si ottiene la successione definita per ricorrenza:
x0

xn  
 xn1  F ( xn )  xn
Se la funzione F(x) è derivabile ed esiste un valore
m : 0 < m < 1 in modo tale da soddisfare
|G’(x)|  m x  [a;b],
allora la successione converge allo zero z : F(z) = 0
In questo caso non funziona
In questo caso sì e no, dipende dal valore di r
In questo caso sì e no, dipende dal valore di r
Scarica