Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Cna 2009 03 12
Cna 2009 03 12
net/publication/45627395
Matematica Numerica
CITATIONS READS
2 4,577
3 authors, including:
Some of the authors of this publication are also working on these related projects:
Simulation and Parameter Estimation for Organic Semiconductor Devices View project
All content following this page was uploaded by Riccardo Sacco on 22 May 2014.
tale che
(i) 0 ≤ αi < β;
(ii) α1 6= 0;
(iii) non esiste nessun intero k per cui si abbia αj = β − 1, ∀j > k.
α1 6= 0 ⇐⇒ α1 = 1
(Cambiamento di base)
Se vogliamo rappresentare in base 2 il numero 147, si procede come segue
e pertanto si trova
(147)10 = (10010011)2 .
Esempio
(2, 25)10 = (10, 01)2
(0, 625)10 = (0, 101)2
...
infatti
(0, 1100 · 2−2 )2 1
`1
+ 212 + 215 + 216 + . . .
´
= 4 2
1 1
1 + 21 + 215 1 + 12 + . . .
` ` ´ ` ´ ´
= 4 2
1 3 1
+ 215 + . . .
` ´
= 4 2 2
3 1
1 + 214 + 218 . . .
` ´
= 8 2
3 1
= 16 1− 1
24
1
= 5
Quindi, in generale, numeri che sono periodici in binario possono non esserlo più nel
sistema decimale. E il viceversa?
0, 6 × 2 = 1, 2 = 0, 2 +1
0, 2 × 2 = 0, 4 = 0, 4 +0
0, 4 × 2 = 0, 8 = 0, 8 +0
0, 8 × 2 = 1, 6 = 0, 6 +1
...
e quindi
(0, 6)10 = (0, 1001)2 .
Osservazione
Il passaggio da base 2 a base 8 è assai semplice, basta raggruppare a 3 a 3 i termini dello
sviluppo binario
(0, 6)10 = (0, 1001)2
= (0, 100110011001...)2
= (0, 4631 . . .)8
= (0, 4631)8
...
e quindi
(0, 6)10 = (0, 4631)8 .
() Calcolo Numerico A - a.a. 2008/09 Giovedı̀ 12 marzo 2009 8 / 27
Esempio
Rappresentare in base 8 il numero la cui rappresentazione decimale è 0, 6.
0, 6 × 8 = 4, 8 = 4, 8 +8 × 0
4, 8 × 8 = 38, 4 = 6, 4 +8 × 4
6, 4 × 8 = 51, 2 = 3, 2 +8 × 6
3, 2 × 8 = 25, 6 = 1, 6 +8 × 3
1, 6 × 8 = 12, 8 = 4, 8 +8 × 1
...
e quindi
(0, 6)10 = (0, 4631)8 .
dove
d1 6= 0
0 ≤ di ≤ β − 1 i = 1, ..., t
L≤p≤U
Osservazione
In un moderno calcolatore, l’insieme dei Floating Points è F (2, 53, −1021, 1024), ovvero
un insieme di cardinalità 2 · 253−1 · (1024 − (−1021) + 1) + 1 = 253 · 2046 + 1, molto
grande ma finita!
1 = (0, 100) · 21 ; 5
4
= (0, 101) · 21 ; 3
2
= (0, 110) · 21 ; 7
4
= (0, 111) · 21
Non è difficile riconoscere che tali punti non sono uniformemente spaziati tra loro.
Preso un numero x ∈ [ 41 , 74 ] \ F (2, 3, −1, 1),
può accadere che x ∈ [ 14 , 7
16
] e in tal caso trovo q ∈ [ 14 , 47 ] tale che |x − q| ≤ 2−5
ma posso avere x = 98 (uno dei casi più sfortunati): in tal caso qualunque sia
q ∈ F(2, 3, −1, 1) si ha |x − q| ≥ 2−3
Definizione (Arrotondamento)
Preso x ∈ [xmin , xmax ] \ F (β, t, L, U), diciamo arrotondamento di x, e lo indichiamo
con rd(x), un numero di F (β, t, L, U) tale che
x = 0, d1 d2 . . . dt · 10p = a · 10p
Osservazione
Preso x ∈ [xmin , xmax ] \ F (10, t, L, U), dove xmin = 10L−1 e xmax = 10U (1 − 10−t ), in
luogo dell’arrotondamento si può operare, meno accuratamente, usando il cosidetto
troncamento alla t−esima cifra decimale, ovvero, se p ∈ [L, U],
∞
X t
X
x = 10p di 10−i −→ tronc(x) = 10p di 10−i .
i=1 i=1
Definizione
Dato F (β, t, L, U), il numero
1 1−t
εM = β
2
viene detto precisione di macchina
Osservazione
La caratterizzazione di εM è la seguente:
Definizione
Dati x, y ∈ R, possiamo definire le operazioni di macchina come segue
x ⊕y := fl(fl(x) + fl(y ))
x y := fl(fl(x) − fl(y ))
x y := fl(fl(x) · fl(y ))
x y := fl(fl(x)/fl(y ))
Esempio
In F , ⊕ non soddisfa la proprietà associativa Infatti, presi a, b, c ∈ F(10, 4, −10, 10) dati
da
a = 0, 19 · 107 , b = −0, 19 · 107 , c = 0, 9 · 101
si ha che
(a ⊕ b) ⊕ c = 0 ⊕ 0, 9 · 101 = 0, 9 · 101
mentre
a ⊕ (b ⊕ c) = 0, 19 · 107 ⊕ fl(−0, 19 · 107 + 0, 9 · 101 )
= 0, 19 · 107 ⊕ fl(−0, 19 · 107 + 0, 0000009 · 107 )
= 0, 19 · 107 ⊕ fl(−0, 1899991 · 107 )
= 0, 19 · 107 − 0, 19 · 107
= 0
Osservazione
Si può mostrare che in F non vale neppure la proprietà associativa del prodotto e la
propietà distributiva del prodotto sulla somma ⊕.
Ne segue che „ «
A A
ε⊕
x,y ≤ εM 1+ +
|x + y | |x + y |
Essendo
A |x − fl(x)| |y − fl(y )| |x| |y |
≤ + ≤ εx + εy
|x + y | |x + y | |x + y | |x + y | |x + y |
si ottiene
„ «
|x| |y | |x| |y |
ε⊕
x,y ≤ εM 1 + εx + εy + εx + εy
|x + y | |x + y | |x + y | |x + y |
cioè „ «
|x| |y |
ε⊕
x,y ≤ εM + (1 + εM ) εx + εy
|x + y | |x + y |
x̃ → f (x̃) = ỹ
Supponendo che la funzione f sia derivabile con continuità , lo sviluppo di Taylor ci dà
come pure
|f 0 (x)| |x̃ − x|
„ «
|ỹ − y |
' |x| (errore relativo)
|y | |f (x)| x
|f 0 (x)|
Il numero C (f , x) = |x| è detto indice di condizionamento.
|f (x)|
Definizione
I problemi per cui C (f , x) è piccolo vengono detti ben condizionati, mentre quelli per
cui C (f , x) è grande vengono detti mal condizionati.
Osservazione
Prendendo in esame le operazioni di somma e prodotto, si ha che
la somma (differenza) è mal condizionata: quando |x ± y | ' 0, piccoli errori nei dati
in ingresso danno luogo a grandi errori nel risultato.
il prodotto (quoziente) è ben condizionato: piccoli errori sui dati in ingresso dallo
luogo a piccoli errori nel risultato.
Esempio
√
Dato il polinomio x 2 − 4x + α = 0, vediamo come varia la radice xα = 2 + 4 − α al
variare di α ∈]4 − ε, 4 + ε[.
Intanto osserviamo che quando α = 4, si ha x4 = 2. Consideriamo α̃ = 4 − 10−6 : si ha
p
xα̃ = 2 + 4 − α + 10−6 = 2 + 10−3 .
Ne segue che
|α̃ − α| 10−6
εα = =
|α| 4
|xα̃ − xα | 10−3
εxα = =
|xα | 2
e quindi una pertubazione in ingresso dell’ordine di 10−6 è stata amplificata di un fattore
103 .
Esempio
Consideriamo le radici del polinomio
x 2 − 2px + q = 0
Quando p 2 >> q, può intervenire il fenomeno della cancellazione, ovvero può accadere
che x2 si annulli a causa degli arrotondamenti.
Per ovviare a questo problema si osserva che q = x1 · x2 , e quindi
p
x1 = p + p 2 − q
mentre p q q
x2 = p − p2 − q = p =
p+ p −q
2 x1
ovvero p q
x1 = p + p 2 − q, x2 =
x1
quando x > 0, per evitare fenomeni di cancellazione può risultare opportuno esprimere la
funzione come
x
f (x) = √
1 + x2 + x
ovvero 8 p
<x( 1 + x − x) se x ≤ 0
> 2
f (x) = x
:√
> se x > 0
1 + x2 + x