• Non ci sono risultati.

Analisi Numerica I Rappresentazione dei numeri ”floating point”

N/A
N/A
Protected

Academic year: 2021

Condividi "Analisi Numerica I Rappresentazione dei numeri ”floating point”"

Copied!
6
0
0

Testo completo

(1)

Analisi Numerica I

Rappresentazione dei numeri ”floating point”

Ana Alonso

ana.alonso@unitn.it

25 ottobre 2019

(2)

Esempi

L’aritmetica in MatLab non e quella dei numeri reali.

>> a=realmax

>> b=realmax/2

>> c=(a+b)/7

>> c=a/7+b/7

>>

>> a=1, while a>0, a=a/2, end

>>

>> a=10^20

>> a+76-a

>> a-a+76

(3)

Numeri “floating point”

394.45 = +0.39445 10 3

−0.0034 = −0.34 10 −2

π = +0.314159265358... 10 1

Tutti i numeri reali, tranne lo zero, si possono rappresentare (in base β) nel seguente modo:

±0.a 1 a 2 a 3 a 4 ... β e a 1 6= 0 0 ≤ a r ≤ β − 1 e ∈ Z Il numero zero ha una rappresentazione a se stante.

Al calcolatore bisogna fissare

I una certa quantit` a finita t di cifre significative,

I un valore minimo L e un valore massimo U dell’esponente.

±0.a 1 a 2 a 3 a 4 ...a t β e a 1 6= 0 0 ≤ a r ≤ β −1 L ≤ e ≤ U .

(4)

I numeri macchina

±0.a 1 a 2 a 3 a 4 ...a t β e a 1 6= 0 0 ≤ a r ≤ β −1 L ≤ e ≤ U . Chiamiamo F(β, t, L, U) all’insieme (finito) di questi numeri e lo zero.

Matlab usa F(2, 53, −1021, 1024)

I Il pi` u piccolo numero positivo: β −1 β L = β L−1 . realmin.

I Il numero massimo:

β U P t

i =1 (β − 1)β −i = (β − 1)β U P t

i =1 β −i =

(β − 1)β U β

−t−1

β

−1

−β −1

−1

= (β − 1)β U β 1−β

−t

−1 = (1 − β −tU realmax.

I Distanza fra il numero 1 e il numero macchina successivo:

β −t β = β 1−t .

eps.

(5)

Rappresentazione dei numeri reali al calcolatore

Dato il numero reale

x = ±β e

X

i =1

a i β −i

il suo rappresentante in F(β, t, L, U) `e

fl (x ) =

( ±β e P t

i =1 a i β −i se a t+1 < β/2

±β e P t

i =1 a i β −i + β −t 

se a t+1 ≥ β/2 L’errore relativo che si commette ` e limitato da

|x − fl (x)|

|x| ≤ 1

2 β −t β e β −1 β e = 1

2 β 1−t .

(6)

Matrice di Hilbert

I hilb(n) calcola la matrice di Hilbert di dimensione n.

h i ,j = 1/(i + j − 1).

I Esercizio:

Sia A la matrice di Hilbert 9 × 9, sia sol=ones(9,1) e b=A*sol .

I

Usando i comandi di Matlab risolvere Ax = b.

I

Calcolare

kx−solkksolk

.

I

Calcolare il numero di condizionamento di A.

I

Commentare i risultati.

Riferimenti

Documenti correlati

Si noti che, in particolare, le immagini dei numeri complessi reali, essendo punti di ordinata nulla, sono situate sull'asse delle ascisse il quale dicesi asse reale del

Quindi dopo la prima ripetizione dei resti si presenteranno anche i quozienti ripetuti nello stesso ordine, dando origine

[r]

Per rappresentare un numero razionale in un calcolatore elettronico in virgola fissa si riservano un numero fisso di bit per parte intera (il primo bit indica il segno)

costituisce un insieme di regole definito dall’istituto degli ingegneri elettrici e elettronici per la rappresentazione e l’elaborazione dei numeri floating point nei

Questo `e chiamato underflow graduale (l’underflow `e la situazione in cui il risultato di una operazione `e diversa da zero ma `e pi` u vicina a zero di qualsiasi numero

Se si sommano due numeri negativi, non è possibile ottenere come risultato un numero positivo, e quindi l’operazione

Determinare il numero di termini necessario, nello sviluppo in serie di log(1+x), per calcolare il valore numerico di log(2) commettendo un errore relativo inferiore a 1.e-2,