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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.6. Propagazione <strong>degli</strong> errori<br />

Esempio<br />

Esempio 3.6.1 Sia x = 0.1103 e y = 0.009963. Se consideriamo un sistema decimale a 4 cifre,<br />

normalizzando i numeri, abbiamo x = 1.103 · 10 −1 e y = 9.963 · 10 −3<br />

Facendo la sottrazione <strong>di</strong> questi due numeri, abbiamo 1.103 · 10 −1 − 9.963 · 10 −3 = 0.1103 − 0.009963 =<br />

0.100337. Facendo l’arrotondamento a 4 cifre abbiamo il valore 1.0034 · 10 −1 .<br />

|0.100337 − 0.10034|<br />

L’errore relativo che commettiamo è: ≈ 2.99 × 10 −5 . Questo errore è minore della<br />

0.100337<br />

precisione <strong>di</strong> macchina (considerata la base 10 e le 4 cifre) 1 2 · 10−3 .<br />

Tuttavia, se non teniamo conto delle cifre significative ma tronchiamo i numeri alle prime 4 cifre,<br />

abbiamo la sottrazione <strong>di</strong> 0.1103 − 0.0099 = 0.1004.<br />

|0.100337 − 0.1004|<br />

Questa volta l’errore relativo è ≈ .63 × 10 −3 . L’errore è maggiore della precisione <strong>di</strong><br />

0.100337<br />

macchina.<br />

Esempio<br />

Esempio 3.6.2 Sia da risolvere l’equazione ax 2 + bx + c = 0 con a = 1, b = −56 e c = 1, quin<strong>di</strong> x 2 − 56x +<br />

1 = 0, in una macchina a 4 cifre decimali (normalizzata).<br />

Applicando la formula x 1/2 = −b ± b 2 − 4ac<br />

abbiamo x 1/2 = 28 ± 783 = 28 ± 27.98213716 =<br />

{ 2a<br />

0.01786284073<br />

. L’arrotondamento delle due ra<strong>di</strong>ci in virgola mobile normalizzata a 4 cifre decimali<br />

55.98213716<br />

dà: x 1 = 1.7863 · 10 −2 e x 2 = 5.5982 · 10 1 .<br />

Consideriamo ora la macchina a 4 cifre decimali per risolvere l’equazione:<br />

x 1 = 28 − 783 = 2.8 · 10 1 − 2.7982 · 10 1 = 0.0018 · 10 1 = 0.018 = 1.8 · 10 −2<br />

x 2 = 28 + 783 = 2.8 · 10 1 + 2.7982 · 10 1 = 5.5982 · 10 1<br />

La ra<strong>di</strong>ce x 2 è arrotondata correttamente, mentre la variabile x 1 no, per effetto della cancellazione.<br />

Per ricavare x 1 con l’arrotondamento corretto, applichiamo la formula x 1 x 2 = c/a, che, nel nostro caso,<br />

vale x 1 x 2 = 1 da cui x 1 = 1/x 2 = 1/(5.5982 · 10 1 ) = 1.7863 · 10 −2 . Abbiamo fatto un’operazione che non<br />

risente del fenomeno <strong>di</strong> cancellazione numerica!<br />

Esempio<br />

Esempio 3.6.3 Ve<strong>di</strong>amo come non valga più la relazione (a − b) 2 = a 2 − 2ab + b 2 .<br />

Sia a = 15.6 e b = 15.7 e la macchina sia a 3 cifre decimali (questa volta lavoriamo su una macchina non<br />

normalizzata, per cui scriveremo la parte frazionaria come 0.qual cosa. Ripetere poi l’esempio lavorando<br />

su una macchina a 2 cifre decimali normalizzata e su una macchina a 3 cifre decimali normalizzata.<br />

Cosa si osserva)<br />

(a − b) = (a − b) ∗ + e a−b . Abbiamo (a − b) ∗ = 15.6 − 15.7 = −0.1.<br />

Quin<strong>di</strong> (a − b) 2 = +0.01 = 0.1 · 10 −1 .<br />

Consideriamo ora a 2 − 2ab + b 2 = 243.36 − 489.84 + 246.49 = 0.24336 · 10 3 − 0.48984 · 10 3 + 0.24649 · 10 3<br />

Considerando la macchina a 3 cifre decimali, abbiamo: 0.243 · 10 3 − 0.490 · 10 3 + 0.246 · 10 3 = −0.1 · 10 1<br />

I risultati sono completamente <strong>di</strong>versi!<br />

29

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

Saved successfully!

Ooh no, something went wrong!