Università degli studi di Trieste
Facoltà di ingegneria
Corso di Laurea Magistrale in Ingegneria Navale
Appunti di Analisi Numerica
Andrea Businaro
Anno Accademico 20011/2012
Rappresentazione floating point
z = fl(x)
x: Numero reale
z: Numero macchina
fl: Funzione che trasforma x in z
Standard IEEE semplice precisione
32 posizioni: 1 segno / 8 esponente / 23 mantissa
Rappresenta da 0 a 28 - 1 = 255 tolti gli estremi.
Uso da 1 e 254. Se p è l’esponente di x, allora come esponente allocato ho p+127 così ne effettua operazioni. p può variare tra +/- 127.
La mantissa nei codici binari è sempre 1... quindi si memorizza solo la parte decimale dopo x scostato ok inizi con 1.
Troncamento
Approssimazioni necessarie se le cifre della mantissa eccedono lo spazio disponibile.
X = ± 2P 1, bn ... bt bt+1 ...
z = fl(x) = ± 2P 1, bn ... bt
Si troncano tutte le cifre decimali successive alla t-esima.
L'errore commesso è: |x - fl(x)| = 2P 1, bn ... bt bt+1 ... - 2P 1, bn ... bt = 2P 0, 0, ... 0, bt+1 ... = 2P-t 0, bt+1...
Questo numero con esponente 2P-t è sicuramente minore di 2P-t perché la mantissa ha ZERO come parte intera.
Arrotondamento
x = 2p 1,bn...btbt+1...
arr(x) = 2p (1,b1...bt + 0..1) Se bt+1 = 1
arr(x) = tr(x) Se bt+1 = 0
L'errore può essere al massimo pari alla semidistanza tra i numeri Z e il suo accenino.
Propagazione dell'errore
Una serie di calcoli richiede la determinazione preventiva di uno stesso valore (es. √2) che poi verrà utilizzato in diverse operazioni. Se nelle diverse operazioni sostituiamo al valore √2 la variabile X e deriviamo rispetto ad X, otteniamo che la operazione più stabile è quella che dà una derivata minore.
Definizione: Un problema è stabile o ben posto se la perturbazione sul risultato è dello stesso ordine di grandezza della perturbazione sui dati.
Indici di condizionamento
Anche detta Analisi Differenziale dell'Errore
Z = F(x1, x2, ..., xn)
Z = f(x1, x2, ..., xn)
x1 = x1 (1 + ε1)
x2 = x2 (1 + ε2)...
Si vuole ottenere una stima dell'errore relativo |Z - Z| |Z|, ricordando che la propagazione dipende dalle derivate, sviluppo in serie di Taylor:
Z = F(x1, x2, ..., xn) = F(x1, x2, ..., xn) + x1 ε1 df/dx1 + x2 ε2 df/dx2 + ... + xn εn df/dxn - Z + xn εn df/dxn = (porto a sx Z)
Z - Z = xn εn df/dxn (divido tutti i membri per Z)
Z/Z - Z/Z = x1/Z df/dx1 ε1 + ... + xn/Z df/dxn εn (xi/Z df/dxi = Ki)
Z/Z - Z/Z = K1 ε1 + ... + Kn εn
I vari Ki rappresentano: fattori di amplificazione dell'errore relativo;
se tutti i Ki ≈ 1 allora errore un errore perturbando tanto quanto i dati ed un problema stabile.
Se qualche Ki » 1 il problema è mal posto o instabile. Moltiplicazione, divisione, somma sono stabili.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.