18.01.2015 Views

Appunti di Calcolo Numerico - Esercizi e Dispense - Università degli ...

Appunti di Calcolo Numerico - Esercizi e Dispense - Università degli ...

Appunti di Calcolo Numerico - Esercizi e Dispense - Università degli ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

4. ZERI DI FUNZIONE<br />

Per esempio, per calcolare 2 ≈ 1.41421356237310, sapendo che il valore che dobbiamo approssimare è<br />

compreso tra 1 e 2, possiamo partire da x 0 = 1.5, ottenendo:<br />

x 0 = 1.5<br />

x 1 = 1 2 (1.5 + 2<br />

1.5 ) = 1.41666667<br />

x 2 = 1 2 (1.41666667 + 2<br />

1.41666667 ) = 1.41421569<br />

x 3 = 1 2 (1.41421569 + 2<br />

1.41421569 ) = 1.41421356<br />

Il metodo usato dai Babilonesi non è altro che il metodo <strong>di</strong> Newton-Raphson (che vedremo più avanti)<br />

per trovare gli zeri della funzione f (x) = x 2 − b.<br />

I meto<strong>di</strong> numerici <strong>di</strong>scussi in questo Capitolo servono per trovare approssimazioni numeriche ad<br />

equazioni del tipo f (x) = 0.<br />

4.2 Metodo delle Bisezioni<br />

Sia data una funzione f continua in un intervallo [a,b], con f (a) e f (b) che assumono valori <strong>di</strong> segno<br />

opposto. Allora, per il teorema del Valore Interme<strong>di</strong>o (si veda il Teorema 2.5.3 con K = 0), esiste almeno un<br />

punto ξ ∈]a,b[ tale che f (ξ) = 0.<br />

Assumiamo, per semplicità che ci sia una sola ra<strong>di</strong>ce ξ nell’intervallo ]a,b[ (nel caso ci sia più <strong>di</strong> una<br />

ra<strong>di</strong>ce, la procedura che ora descriviamo vale sempre, e ci permette <strong>di</strong> calcolare una <strong>di</strong> queste ra<strong>di</strong>ci).<br />

Il metodo delle bisezioni (detto anche metodo <strong>di</strong>cotomico) si chiama così perchè, ad ogni passo, viene<br />

<strong>di</strong>mezzato l’intervallo precedente, cercando in tal modo <strong>di</strong> racchiudere la ra<strong>di</strong>ce ξ in sottointervalli sempre<br />

più piccoli.<br />

G Si pone a 1 = a e b 1 = b. Si prende il punto me<strong>di</strong>o dell’intervallo [a 1 ,b 1 ], c 1 = a 1 + b 1<br />

.<br />

G Se f (c 1 ) = 0 allora abbiamo trovato la ra<strong>di</strong>ce dell’equazione, altrimenti si va a controllare il segno <strong>di</strong><br />

f (c 1 ).<br />

– Se f (c 1 ) e f (a 1 ) hanno lo stesso segno, allora ξ si trova nell’intervallo ]c 1 ,b 1 [ (applicando <strong>di</strong> nuovo<br />

il teorema del Valore Interme<strong>di</strong>o). In tal caso porremo a 2 = c 1 e b 2 = b 1 .<br />

– Se, invece, f (c 1 ) e f (b 1 ) hanno lo stesso segno, allora ξ si trova nell’intervallo ]a 1 ,c 1 [ In tal caso<br />

porremo a 2 = a 1 e b 2 = c 1 .<br />

G Riapplichiamo questa procedura appena descritta sul sottointervallo [a 2 ,b 2 ]<br />

G Fermiamo il proce<strong>di</strong>mento ad una certa iterazione n, se f (c n ) = 0 o se l’ampiezza del sottointervallo<br />

è sufficientemente piccola, cioè b n − a n<br />

≤ tol l dove tol l è una certa tolleranza prefissata. In tal caso<br />

2<br />

assumiamo c n come approssimazione della ra<strong>di</strong>ce ξ.<br />

Osserviamo che, ad ogni passo, viene <strong>di</strong>mezzato l’intervallo in cui si trova la ra<strong>di</strong>ce ξ, da cui<br />

|ξ − c n | ≤ b − a<br />

2 n .<br />

Da questa relazione, si può determinare il numero <strong>di</strong> iterazioni n necessarie per calcolare un’approssimazione<br />

della ra<strong>di</strong>ce ξ entro una certa tolleranza tol l richiesta. Infatti<br />

b − a<br />

2 n ≤ tol =⇒ |ξ − c n | ≤ tol<br />

2<br />

Ma<br />

( ) b − a<br />

b − a<br />

2 n ≤ tol ⇐⇒ 2 n ≥ b − a log<br />

tol<br />

=⇒ n ≥<br />

.<br />

tol<br />

log(2)<br />

L’algoritmo <strong>di</strong> bisezione può essere descritto nel modo seguente (sotto forma <strong>di</strong> pseudo-co<strong>di</strong>ce). Se il<br />

metodo non converge (perchè, ad esempio, la funzione che abbiamo scelto non assume segno opposto agli<br />

38

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!