Appunti di Calcolo Numerico

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Appunti di Calcolo Numerico"

Transcript

1 Appunti di Calcolo Numerico a cura di Annamaria Mazzia Università degli Studi di Padova Corso di Calcolo Numerico per Ingegneria Meccanica - Sede di Vicenza a.a.2005/2006

2

3 Lezioni su Rappresentazione dei numeri nel calcolatore Un introduzione al calcolo numerico: la rappresentazione dei numeri al calcolatore, l instabilità di un algoritmo, il malcondizionamento di un problema. Sommario 1 Unicità della rappresentazione in base N Conversione di base Rappresentazione IEEE dei numeri di macchina Precisione numerica Propagazione degli errori Instabilità e malcondizionamento Instabilità Malcondizionamento Unicità della rappresentazione in base N Un generico numero a può essere rappresentato in base N utilizzando N simboli, 0, 1,..., N 1. Si scriverà dunque come: a = a m N m + a m 1 N m a 1 N + a 0 + a 1 N 1 + a 2 N a n N n dove m e n sono interi naturali e a k, k = m, m 1,..., n sono interi naturali compresi tra 0 e N 1. Esempio In base 10, il numero , scritto in forma estesa è dato dalla forma:

4 1. Unicità della rappresentazione in base N 2 Abbiamo supposto che il numero abbia una rappresentazione finita ma anche nel caso più generale avremo una rappresentazione simile. Dimostriamo che tale rappresentazione è unica. Dimostrazione. Proviamo, innanzitutto, che ogni numero a è tale che N m a < N m+1. Se si pensa ad un numero in base decimale, questo è ovvio, nel senso che (ad esempio) un numero con due cifre intere (m = 1) può variare da 10 fino a 99, cioè è compreso nell intervallo 10 a < Supponiamo, dunque, che lo stesso numero a possa rappresentarsi - nella stessa base N - come a = a m N m + a m 1 N m = b p N p +... a p 1 N p 1... con a m 0, b p 0. E proviamo che necessariamente deve essere p = m e b k = a k per ogni k = m, m 1,.... Per provare ciò, si consideri che il valore minimo che può assumere a, con m fissato, si ha ponendo a m = 1 e a k = 0 per k m, da cui a N m Analogamente, il valore massimo che può assumere a si ha ponendo ciascun a k = N 1, per cui 1 a max = (N 1)N m + (N 1)N m (N 1)N (N 1)N n = (N 1)(N m + N m N 0 + N + N N n ) m = (N 1) N k = n n+m = (N 1)N m 0 N k < (N 1)N m 1 1 1/N = N m+1 Quindi, N m a < N m+1. Ora se fosse p m, ad esempio p < m, avremmo p + 1 m e N p+1 N m. D altro canto, ripetendo il ragionamento fatto prima, si avrebbe a < N p+1. Ma allora a < N p+1 N m dà pure a < N m, un assurdo, visto che N m a. Se, invece, fosse p > m, avremmo p m + 1 e N p N m+1. Ma a < N m+1 e a N p N m+1, da cui a N m+1 : avremmo di nuovo un assurdo. 1 si tenga conto che 1 k=0 N = 1 k 1 1/N

5 2. Conversione di base 3 Perciò, necessariamente, deve essere p = m. Si può dunque scrivere: (a m b m )N m + (a m 1 b m 1 )N m = 0 Proviamo che a k = b k per ogni k. Supponendo a m b m > 0 possiamo scrivere l equazione precedente come: a m b m = a m 1 b m 1 N + a m 2 b m 2 N Al primo membro abbiamo un numero intero, mentre il secondo membro è certamente una quantità minore di 1 in quanto può essere maggiorata dalla quantità N 1 N + N 1 N (N 1) k=1 1 N k = (N 1)( 1 1 1/N 1) = (N 1)( N N 1 1) = 1 L uguaglianza può sussistere solo se ambo i membri sono uguali a zero, cioè per a m = b m. Ripetendo lo stesso ragionamento si trova che a k = b k per ogni k. 2 Conversione di base Si vuole passare da una rappresentazione in base M ad una in base N: a = a m M m + a m 1 M m a 1 M + a 0 + a 1 M a n M n = b r N r + b r 1 N r b 1 N + b 0 + b 1 N a s N s Osserviamo che un numero può avere una rappresentazione finita in una base ma infinita in un altra base e viceversa. Uguagliamo le parti intere delle due rappresentazioni e dividiamo per N, con i calcoli eseguiti nella base di partenza M: (a m M m + a m 1 M m a 1 M + a 0 )/N = (b r N r + b r 1 N r b 1 N + b 0 )/N (a m M m + a m 1 M m a 1 M + a 0 )/N = b r N r 1 + b r 1 N r b 1 + b 0 N Deduciamo che il resto della divisione per N della parte intera di a è b 0, espresso nella base M. Dividendo successivamente il quoziente appena trovato per N, si ottiene come resto b 1, b 2,..., b r 1 fino all ultimo quoziente indivisibile per N, che ci dà b r. I calcoli si eseguono in base M, in cui è pure espressa la base N. Uguagliando invece le parti decimali e moltiplicando ogni volta per N otteniamo, come parti intere, i coefficienti b 1, b 2,..., sempre espressi nella base M: (a 1 M 1 + a 2 M )N = b 1 + b 2 N 1 + b 3 N

6 3. Rappresentazione IEEE dei numeri di macchina 4 Esempio Vogliamo convertire il numero dalla base 10 nella base b b b b 3 Per la parte intera si ha: b b b b b b = b 1 = 1 Per la parte decimale: = 0.50 b 2 = = 1.0 b 3 = = 0.0 In base 2 il numero diventa Questo modo di procedere diventa alquanto laborioso quando i calcoli devono essere eseguiti in una base diversa da quella decimale, per cui conviene sempre passare alla base decimale e poi da questa all altra base utilizzando la rappresentazione polinomiale del numero. Il passaggio dalla base 2 alle basi 4, 8, 16 sono semplici considerando che 4 = 2 2, 8 = 2 3, 16 = 2 4. Basta allora suddividere il numero binario in gruppi di 2, 3 e 4 cifre, rispettivamente, per passare alle basi 4, 8 e 16. Per passare dalla base 4 alle base 16, si suddivide il numero in gruppi di due considerando che 16 = 4 2. Non si può invece passare così facilmente dalla base 8 alla bsae 16 perchè l una non è potenza dell altra. Il perchè del passaggio da una base ad un altra semplificato nel caso di una base potenza dell altra lo si vede subito vedendo il caso delle basi 2 e 4. In base 2 sono possibili le sole cifre 0 e 1. In base 4 invece abbiamo 0, 1, 2 e 3. Ora, tutte le possibili combinazioni delle coppie di cifre 0 e 1 sono: 00, 01, 10, 11 vale a dire 0, 1, 2 e 3 in base 4. Perciò prendendo a due a due coppie di cifre in base 2 ottengo la rappresentazione in base 4. 3 Rappresentazione IEEE dei numeri di macchina Lo sviluppo dei calcolatori ha promosso e sviluppato l uso del sistema binario, in cui ciascun numero è rappresentato da una successione di cifre binarie (0 e 1). Ma come avviene la rappresentazione di un numero nel calcolatore? Come rappresentare un numero a infinite cifre in maniera accurata utilizzando solo un numero finito di cifre? Abbiamo la rappresentazione in virgola mobile (floating point) - che in genere è preferibile rispetto a quella in virgola fissa - e la maggior parte dei computers

7 3. Rappresentazione IEEE dei numeri di macchina 5 seguono gli standard dell IEEE ( Institute of Electrical and Electronics Engineers) nella base 2. Un numero in floating point nella rappresentazione IEEE viene scritto come dove a = ±(1 + f f f m 2 m ) 2 p, 1 + f f f m 2 m riservati un numero m di bits, è la mantissa, normalizzata, cui sono p è la potenza della base 2 cui sono riservati un numero Ne di bits ed è limitato a variare in un determinato intervallo [L, U]. Il primo 1 della mantissa (che corrisponde a f 0 ) non viene messo in memoria ma c è, per cui la rappresentazione del numero è data nel modo seguente: s e e e e e e f f f f f f }{{} segno } {{ } esponente } {{ } mantissa Abbiamo 1 bit riservato al segno (si ha 0 per il segno + e 1 per il segno ), un numero Ne di bits per l esponente 2 e, e un numero m di bits per la mantissa. La scelta del numero di bits da riservare all esponente e alla mantissa si basa su un compromesso tra la dimensione dell esponente (e quindi il più piccolo e il più grande numero rappresentabile) e la dimensione della mantissa (e quindi la precisione del numero rappresantibile, più o meno cifre decimali). Nel sistema IEEE, la rappresentazione in singola precisione è a 32 bits mentre quella in doppia precisione è a 64 bits. La suddivisione dei bits tra esponente e mantissa viene ripartita nel modo seguente: Singola precisione Doppia precisione s 1 s 1 Ne 8 Ne 11 m 23 m 52 bits 32 bits 64 L esponente viene rappresentato in forma biased (parziale, influenzata da un altro numero), nel senso che se p è l esponente, noi consideriamo il valore b + p dove b è il numero b = 0111 }{{... 1}, quindi b = Ne Ne 1 = 1 2Ne 1 = 1 2 Ne bits 2 Ne 1 1. Per trovare il limite superiore e inferiore entro cui può variare p, dobbiamo tener conto del fatto che, nella rappresentazione IEEE, due patterns di bits sono riservati per rappresentare numeri speciali quali lo zero, infinito e il Not-a-Number: sono e

8 3. Rappresentazione IEEE dei numeri di macchina 6 Quindi, per rappresentare un numero reale b+p non può essere uguale a : ciò significa che il massimo esponente che si può rappresentare è dato sottraendo a il valore 1 in base 2, cioè da = Si ha b + p , o equivalentemente, p , da cui ricaviamo p = = b. Il limite superiore U è proprio uguale a b. Per il limite inferiore abbiamo: < b + p cioè, equivalentemente, b < p b p. Quindi il limite inferiore è L = (b 1). In singola precisone, il valore b è dato da b = 0111 }{{... 1} : in base 10 b = , da 8 bits cui l intervallo [L, U] = [ 126, 127]. In doppia precisione, invece, b = da cui [L, U] = [ 1022, 1023]. Per quanto riguarda la mantissa, sono ad essa riservati m bits. Considerando anche l 1 della normalizzazione, la precisione è di m + 1 bits. Il più grande numero che si può rappresentare è, quindi: }{{... 1} 2 U = m bits m k=0 2 k 2 U = 1 2 (m+1) U = (2 2 m )2 U 2 U+1 Il più piccolo numero positivo rappresentabile è dato, invece, da: }{{... 0} 2 L = 2 L m bits Se si vuole rappresentare un numero al di fuori di questo intervallo si ha overflow o underflow. In singola e doppia precisione abbiamo, per il più grande e il più piccolo numero positivo rappresentabile, il seguente prospetto: Singola precisione Doppia precisione Massimo Minimo Esempio Vogliamo scrivere il numero in formato IEEE in singola precisione. Effettuiamo prima la conversione in base 2: b 0 Per la parte intera: b b 2

9 3. Rappresentazione IEEE dei numeri di macchina = 1.50 b 1 = 1 Per la parte decimale:.5 2 = 1.0 b 2 = = 0.0 Quindi = = Memorizziamo ora il numero in singola precisione: Per l esponente: (b + p) 10 = ( ) 10 = = Per la mantissa, m = 23 e si deve trascurare l 1 della normalizzazione è: Il segno è positivo, quindi s = 0 Perciò la memorizzazione, considerati i bits per il segno, l esponente e la mantissa }{{} s } {{ } esponente } {{ } mantissa Consideriamo, ora, la rappresentazione dei numeri speciali. Per convenzione si pone uguale a 0 la rappresentazione che vede tutti zero sia nel segno, sia nell esponente che nella mantissa (non dimentichiamo che il valore 1 della normalizzazione non è messo in memoria ma c è e quindi non potremmo mai avere il valore 0 - perciò lo si pone per convenzione). Per i valori ± si considerano tutti 1 nello spazio dedicato all esponente e tutti 0 nello spazio dedicato alla mantissa: 0 / }{{} s } {{ } esponente } {{ } mantissa I valori ± si hanno se si fa una divisione per zero o si fa un calcolo che comporta overflow. Si ha invece il Not-a-Number quando si ottiene il risultato di un calcolo non è definito, come 0/0 o log 0. A seconda della macchina si ha: Il NaNS: si ha un segnale di errore }{{} s } {{ } esponente } {{ } mantissa

10 4. Precisione numerica 8 Il NaNQ: il calcolo continua comunque }{{} s } {{ } esponente 4 Precisione numerica } {{ } mantissa Un numero può avere una rappresentazione finita o infinita. Basti pensare al valore di π o a 2 in base 10. Abbiamo anche visto che un numero può avere rappresentazione finita in una base ma infinita in un altra. Esempio Scriviamo il numero in base 2. Per la parte intera: b = 0.2 b 1 = = 0.4 b 2 = = 0.8 b 3 = = 1.6 b 3 = 1 Per la parte decimale:.6 2 = 1.2 b 4 = = 0.4 b 5 = = 0.8 b 6 = = 1.6 b 7 = = 1.2 b 8 = = 0.4 b 9 = 0 Osserviamo che nella parte decimale si ripetono all infinito le cifre Il numero in base 2 si scrive infatti come: }{{} 0011 }{{}... Quando rappresentiamo un numero al calcolatore sarà possibile memorizzare solo un certo numero di cifre: come esprimerlo? Per lasciare maggiore generalità al discorso, consideriamo una base N. Sia a = ±( k=0 b kn k )N p il numero esatto. In floating-point esso sarà espresso come a = ±( t 1 k=0 b k N k )N p, esso, cioè, sarà arrotondato. Ci sono due modi per arrotondare un numero troncamento a = tronc(a), dove p = p e b k = b k per k = 0,..., t 1. Le altre cifre, b t, b t 1,... sono ignorate. arrotondamento simmetrico a = arr(a) = tronc(a N t+1 N p ), aggiungiamo un unità a b t+1 se b t N/2. L errore assoluto che si commette approssimando il numero a con a sarà, dunque,

11 5. Propagazione degli errori 9 N 1 t N p nel troncamento errore assoluto a a 1 2 N 1 t N p nell arrotondamento Per l errore relativo, invece, si ha: errore relativo a a N 1 t nel troncamento 1 a 2 N 1 t nell arrotondamento Il valore 1 2 N 1 t è il numero conosciuto come precisione di macchina. Esempio Nel caso della rappresentazione IEEE di un numero, con t 1 = m, l errore di arrotondamento che si commette è: In singola precisione avremo a a 2 (m+1) a a ciò significa che avremo 8 cifre decimali corrette. In doppia precisione avremo a a ciò significa che avremo 16 cifre decimali corrette. 5 Propagazione degli errori Prima di vedere come si propagano gli errori nelle operazioni elementari di moltiplicazione, divisione, addizione e sottrazione, vediamo il concetto di cifre significative. Le cifre significative sono quelle che danno un informazione effettiva sul valore del numero, indipendentemente dalla parte esponenziale. È chiaro che il contenuto delle informazioni sulle cifre va diminuendo via via che ci si sposti da sinistra verso destra. Quando un numero è arrotondato e rappresentato in modo da includere solo cifre significative, la prima cifra a destra del punto decimale è sempre diversa da zero. Vediamo ora come si propagano gli errori nelle operazioni elementari. Supponiamo che i numeri su cui lavoriamo siano affetti da errore (di arrotondamento), mentre le operazioni siano eseguite in modo esatto. Indichiamo con o una qualunque delle operazioni elementari {, /, +, } e indichiamo con fl(x) il numero x rappresentato in floating point e arrotondato, quindi fl(x) = x(1 + e x ) dove e x è l errore di arrotondamento.

12 5. Propagazione degli errori 10 Allora fl(x o y) = fl(x) o fl(y) = x(1 + e x ) o y(1 + e y ). Moltiplicazione 2 x(1 + e x ) y(1 + e y ) = x y(1 + e x )(1 + e y ) x y(1 + e x + e y ) Quindi l errore nel prodotto è dato da e xy = e x + e y Divisione (con y 0) x(1 + e x ) y(1 + e y ) = x y (1 + e x)(1 e y + e 2 y +...) x y (1 + e x e y ) Si ha e x/y = e x e y : gli errori si accumulano additivamente Addizione (e, analogamente, Sottrazione) x(1 + e x ) + y(1 + e y ) = x + y + xe x + ye y = (x + y)(1 + x x + y e x + y x + y e y) L errore è e x+y = x e y. x x + y e x + y x + y e y, una combinazione lineare che dipende da xy > 0 = e x+y e x + e y xy < 0 = x x + y e y possono essere molto grandi e, in tal caso, ci x + y sarà un amplificazione notevole dell errore. Si ha il fenomeno di cancellazione se non si fa attenzione al numero di cifre significative dei numeri che vengono sommati. Esempio [Sull uso delle cifre significative] Sia x = e y = Se consideriamo un sistema decimale a 4 cifre, y, normalizzato, viene scritto e memorizzato come Facendo la sottrazione di questi due numeri, abbiamo = = Facendo l arrotondamento a 4 cifre abbiamo il valore L errore relativo che commettiamo è: Questo errore è minore della precisione di macchina (considerata la base 10 e le 4 cifre) Tuttavia, se non teniamo conto delle cifre significative ma tronchiamo i numeri alle prime 4 cifre, abbiamo la sottrazione di = nei conti si trascurano le potenze maggiori o uguali a due per e x e e y

13 5. Propagazione degli errori Questa volta l errore relativo è L errore è maggiore della precisione di macchina Esempio [Il disastro del missile Patriot ] Nel 1991 un missile Patriot fallì l operazione di inseguire e fermare uno Scud, in Arabia Saudita, a causa di un problema di precisione numerica. Come conseguenza, lo Scud uccise 28 americani. Il computer usato per controllare il missile Patriot era basato su un aritmetica a 24 bit. Per i calcoli, il tempo veniva registrato dall orologio interno del sistema in decine di secondi e successivamente moltiplicato per 1/10 per ottenere i secondi, utilizzando 24 bit in virgola fissa. Il numero 1/10 in base 2 ha infinite cifre decimali: la sua espansione binaria è infatti In 24 bit esso veniva registrato come introducento un errore di , circa in base 10. Gli errori di arrotondamento nella conversione del tempo causarono un errore nel calcolo della traiettoria. Difatti, il tempo di 100 ore calcolato in secondi diede il valore invece di , un errore di secondi che portò il Patriot 687 metri fuori della traiettoria del missile Scud! Esempio [Sul fenomeno di cancellazione] Consideriamo il problema di approssimare la derivata della funzione f(x) = sin x nel punto x = 1.2. Supponiamo di non poter valutare direttamente la derivata della f e di volerla approssimare facendo uno sviluppo in serie di Taylor: Allora f(x 0 + h) = f(x 0 ) + hf (x 0 ) + h2 2 f (x 0 ) + h3 6 f (x 0 ) + h4 24 f IV (x 0 ) +... f (x 0 ) = f(x 0 + h) f(x 0 ) h ( h 2 f (x 0 ) + h2 6 f (x 0 ) + h3 24 f IV (x 0 ) +...) Approssimiamo, quindi, la f (x 0 ) calcolando f(x 0 + h) f(x 0 ). h L errore di discretizzazione che si commette è f (x 0 ) f(x 0 + h) f(x 0 ) = h h 2 f (x 0 ) + h2 6 f (x 0 ) + h3 24 f IV (x 0 ) +... Supponendo di conoscere il valore della derivata seconda in x 0, per piccoli valori di h possiamo dare una stima dell errore di discretizzazione, f (x 0 ) f(x 0 + h) f(x 0 ) h h 2 f (x 0 )

14 5. Propagazione degli errori 12 Ci aspettiamo, anche senza conoscere il valore di f (x 0 ) (purchè diverso da 0) che l errore di discretizzazione diminuisca proporzionalmente con il passo h, al decrescere di h. Nel nostro caso, in cui f(x) = sin (x), noi conosciamo il valore esatto della derivata in 1.2, vale a dire cos (1.2) = Il valore che otteniamo approssimando la derivata con la formula che abbiamo ricavato, per h = 0.1 non è molto accurato. Ci aspettiamo che diminuendo il passo h l errore che commettiamo diminuisca. Riportiamo gli errori della formula (in valore assoluto) e confrontiamoli con l errore di discretizzazione h 2 f (x 0 ) (i conti sono fatti in singola precisione): h errore h 2 f (x 0 ) 1.e e e-2 1.e e e-3 1.e e e-4 1.e e e-5 1.e e e-6 1.e e e-7 L errore commesso dall algoritmo decresce come h e, in particolare, come h 2 f (1.2) = h. Possiamo pensare di ottenere un accuratezza grande quanto vogliamo a condizione di prendere valori di h sempre più piccoli. In realtà, per valori di h molto piccoli, gli errori iniziano ad aumentare! h errore h 2 f (x 0 ) 1.e e e-9 1.e e e-10 1.e e e-11 1.e e e-12 1.e e e-13 1.e e e-14 1.e e e-16 1.e e e-19 In figura 1 vediamo come la curva dell errore inizialmente segue la retta descritta dall errore di discretizzazione ma poi si allontana da essa. Perchè questo diverso comportamento per valori di h molto piccoli? L errore che noi valutiamo è dato dalla somma dell errore di discretizzazione e dell errore di arrotondamento. Per valori di h grandi, l errore di discretizzazione descresce al diminuire di h e domina l errore di arrotondamento. Ma quando l errore di discretizzazione diventa molto piccolo, per valori di h minori di 10 8, allora l errore di arrotondamento inizia a dominare

15 5. Propagazione degli errori 13 Figura 1: La curva tratteggiata -. rappresenta l errore di discretizzazione, la curva rappresentata come -o è la curva dell errore computazionale che si ha approssimando f (x 0 ) con il rapporto incrementale f(x 0 + h) f(x 0 ). h Errore assoluto passo h e ad aumentare sempre più al diminuire di h. Questo è un motivo per cui si deve richiedere ad un algoritmo che l errore di discretizzazione sia quello che debba prevalere. Nell errore di arrotondamento, per h via via più piccoli, si verifica un errore di cancellazione: f(x 0 + h) è praticamente uguale a f(x 0 ) per h molto piccoli! per cui l errore che calcoliamo è f (x 0 ) 0 = f (x 0 ) = Una strategia per evitare la cancellazione è di scrivere diversamente la differenza f(x 0 + h) f(x 0 ). Nel caso di f(x) = sin (x) ricorriamo alla formula trigonometrica per cui sin (φ) sin (ψ) = 2 cos ( φ + ψ ) sin ( φ ψ ). 2 2 Vediamo come migliorano le cose inserendo nel grafico di prima la curva dell errore che otteniamo utilizzando questa espressione trigonometrica. L errore continua a diminuire anche quando la formula precedente inizia a dare un errore crescente. Nel grafico 2 abbiamo anche considerato la curva dell errore di arrotondamento in modo da confrontare l andamento effettivo con un limite superiore teorico dell errore computazionale totale dato dalla somme degli errori di discretizzazione e di arrotondamento. La rappresentazione di f(x) è affetta da errore per cui avremo: f(x) = f (x) + e x. L errore di arrotondamento è f(x 0 + h) f(x 0 ) = f (x 0 + h) f (x 0 ) + e x 0 +h e x0. h h h Maggiorando e x con la precisione di macchina ɛ, l errore di arrotondamento è dato da 2ɛ/h. Esempio [Sempre sul fenomeno di cancellazione]

16 5. Propagazione degli errori 14 Figura 2: La curva tratteggiata -. rappresenta l errore di discretizzazione, la curva continua - l errore dovuto all arrotondamento, la curva rappresentata come -o è la curva dell errore computazionale che si ha approssimando f (x 0 ) con il rapporto incrementale f(x 0 + h) f(x 0 ), mentre la curva rappresetata da - h + è la curva dell errore che si commette applicando al rapporto incrementale la formula trigonometrica per cui f(x 0 + h) f(x 0 ) = sin (x 0 + h) sin (x 0 ) = 2 cos (2x 0 + h/2) sin (h/2) Errore assoluto passo h Sia da risolvere l equazione x 2 56x + 1 = 0 in una macchina a 5 cifre decimali. Applicando la formula x 1/2 = b ± b 2 4ac all equazione ax 2 + bx + c = 0, 2a abbiamo x 1/2 = 28 ± { = 28 ± = Consideriamo la macchina a 5 cifre decimali. x 1 = = = = x 2 = = = = La radice x 2 è arrotondata correttamente, mentre la variabile x 1 no, per effetto della cancellazione. Possiamo però scrivere x 1 x 2 = 1 da cui x 1 = 1/x 2 = 1/ = In aritmetica di macchina non valgono più la proprietà distributiva o associativa del prodotto.

17 6. Instabilità e malcondizionamento 15 Esempio [Sulla proprietà distributiva e associativa] Vediamo come non valga più la relazione (a b) 2 = a 2 2ab + b 2. Sia a = 15.6 e b = 15.7 e la macchina sia a 3 cifre decimali. (a b) = (a b) + e a b. Abbiamo (a b) = = 0.1. Quindi (a b) 2 = = Consideriamo ora a 2 2ab + b 2 = = Considerando la macchina a 3 cifre decimali, abbiamo: = I risultati sono completamente diversi! 6 Instabilità e malcondizionamento 6.1 Instabilità In generale è impossibile evitare un accumulo lineare degli errori di arrotondamento durante un calcolo, ed è accettabile che ci sia una crescita lineare moderata, del tipo E n c 0 ne 0 dove E n misura l errore relativo dell n-sima operazione dell agoritmo e c 0 sia una costante non molto grande. Se invece avviene una crescita di tipo esponenziale E n c n 1 E 0 allora l algoritmo è instabile. Algoritmi del genere devono essere evitati! Definiamo, quindi, un procedimento numerico instabile se gli errori che vi sono associati non rimangono limitati ma crescono fino a distruggere completamente la soluzione. Esempio Consideriamo l integrale 1 x n y n = x + 10 dx 0 per valori di n = 1, 2,..., 30. Osserviamo che, poichè x [0, 1], la funzione integranda varia pure essa nell intervallo [0, 1] per cui 0 < y n < 1. Analiticamente, si ha: y n + 10y n 1 = 1 Vale anche la relazione 0 x n + 10x n 1 x + 10 y 0 = 1 0 dx = 1 0 x n 1 (x + 10) x dx = ln 11 ln 10. x + 10 dx = 1 0 x n 1 dx = 1 n

18 6. Instabilità e malcondizionamento 16 Possiamo pensare, quindi, di calcolare numericamente il valore di y n attraverso il seguente algoritmo: 1. valutare y 0 = ln 11 ln per n = 1, 2,..., 30 valutare y n = 1 n 10y n 1 Questa formula ricorsiva dovrebbe dare l esatto valore se non fossero presenti errori di arrotondamento. I numeri che generiamo, infatti, tendono a zero mentre l errore si moltiplica. Infatti y 1 = 1 10y 0 y 2 = (1 10y 0) = y 0 y 3 = ( y 0 ) = 10 3 y 0 + costante y n = 10 n y 0 + costante n L algoritmo quindi, considerati gli errori di arrotondamento, presenta un errore E n con crescita di tipo esponenziale. Difatti otteniamo valori che via via si allontanano dall intervallo di ammissibilità [0, 1]. Abbiamo infatti (in doppia precisione con un codice Matlab): n y n e e e e e e e e e e e+13 Se facciamo un programma in Fortran che descrive lo stesso algoritmo abbiamo invece i risultati (con valori crescenti ma diversi):

19 6. Instabilità e malcondizionamento 17 n y n e e e e e e e e e e e e+22 Se invece, considero y n 1 = 1 10 ( 1 n y n), partendo da un valore di n molto grande e andando a ritroso, l errore diminuisce. Perciò, dato un valore di accuratezza ɛ > 0 e fissato un intero n 0 è possibile determinare l intero n 1 tale che, partendo da y n1 = 0 e andando a ritroso, gli integrali y n saranno valutati con un errore in valore assoluto minore di ɛ per 0 < n n 0. Infatti: y n0 = 0 y n0 1 = n 0 y n0 2 = 1 10 ( 1 n ) = 1 10 n costante 2 1 y n = 10 n 0 n costante n 0 n 1 L errore al passo n dipende, quindi, da 10 n 0 n. Se richiediamo una tolleranza ɛ = 10 6, per calcolare y n1 allora dovrà essere Passando al logaritmo in base 10: 1 10 n 0 n 1 < ɛ = 10 n 1 n 0 < ɛ n 1 n 0 < log ɛ = n 0 > n 1 log ɛ Per n 1 = 20 si ricava n 0 = 26. Questa volta i calcoli danno gli stessi risultati sia in Matlab sia in Fortran:

20 6. Instabilità e malcondizionamento 18 n y n e e e e e e e e e e e e e e e e e e e e e e e e e e-2 Osserviamo come il valore y 0 coincida con il valore teorico noto. L esempio appena visto ci porta a dare alcune considerazioni sui criteri su cui si deve basare un algoritmo: un algoritmo deve essere accurato, efficiente e robusto, accurato nel senso che bisogna essere in grado di sapere la grandezza dell errore che si commette nell algoritmo stesso; efficiente in termini di velocità di esecuzione e di richiesta di spazio di memoria per le variabili utilizzate; robusto nel dare il risultato corretto entro un livello di tolleranza dell errore che sia accettabile. 6.2 Malcondizionamento Un problema si dice malcondizionato se a piccole variazioni nei dati di input del problema corrispondono forti variazioni nei dati di output. Quando il problema è, dunque, molto sensibile alle variazioni dei dati di input, producendo risultati molto

21 6. Instabilità e malcondizionamento 19 diversi tra loro, allora nessun algoritmo, per quanto robusto e stabile, potrà dare una soluzione robusta al problema stesso. Esempio [Sui polinomi] Sia p(x) il polinomio di grado n, p(x) = x n + a n 1 x n a 1 x + a 0, con a 0 0. Si vogliono trovare le radici del polinomio p(x). I dati di input sono dunque i coefficienti a i, i = 0, n 1 del polinomio mentre i dati di output sono le radici del polinomio. Sia ξ una radice del polinomio. Essa sarà funzione dei coefficienti a i, quindi scriveremo ξ = f(a 0, a 1,..., a n 1 ). Perturbiamo, ora, uno dei coefficienti, ad esempio a k con a k + a k e vediamo come variano le radici del polinomio perturbato rispetto a quello di partenza, considerando il rapporto f f dove f = f(a 0, a 1,..., a k + a k,..., a n1 ) f(a 0, a 1,..., a k,..., a n1 ) Supponendo a k sufficientemente piccolo, si può approssimare f con lo sviluppo in serie di Taylor troncato al primo termine, cioè f = a k. f a k Perciò f f a f k a k f = a k a = k a k f f a k La variazione sulle radici f f è dunque proporzionale alla variazione sui dati di f ingresso a a k k a mediante il coefficiente k. a k f Calcoliamo questa quantità. Scriviamo il polinomio come: ξ n + a n 1 ξ n a k x k a 0 = 0 vale a dire f(a 0, a 1,..., a n 1 ) n + a n 1 f(a 0, a 1,..., a n 1 ) n a k f(a 0, a 1,..., a n 1 ) k a 0 = 0 Ho un identità nelle variabili a 0, a 1,..., a n 1. Anche la derivata parziale rispetto ad a k sarà, perciò, un identità a zero: n f a k f(a 0, a 1,..., a n 1 ) n 1 + a n 1 (n 1) f a k f(a 0, a 1,..., a n 1 ) n a k k f f(a 0, a 1,..., a n 1 ) k 1 + f(a 0, a 1,..., a n 1 ) k f a 1 = 0 a k a k la derivata del termine a k f(...) k

22 6. Instabilità e malcondizionamento 20 Da questa relazione ricaviamo: f a k (nξ n 1 + a n 1 (n 1)ξ n a k kξ k a 1 ) = ξ k f a k p (ξ) = ξ k f a k = ξk p (ξ) Andando a sostituire otteniamo: f f f a k = a k f a k a k = a kξ k a k ξp (ξ) a k Se il coefficiente a kξ k ξp è grande in valore assoluto, allora a piccole variazioni (ξ) sul coefficiente a k si avranno grandi variazioni nella radice ξ. Ciò, si verifica, ad esempio, quando le radici sono in modulo molto vicine tra loro. Supponiamo di avere il polinomio p(x) = (x 1)(x 2) (x 10). Chiaramente, tale polinomio ha radici 1, 2,..., 10. Se perturbiamo il polinomio variando il coefficiente a 9 del valore , considerando cioè il polinomio p(x) x 9 allora le radici corrispondenti a 7, 8, 9, 10 non saranno più reali ma avranno anche una parte immaginaria. Quindi un piccolo cambiamento nel coefficiente a 9, da -55 a porta a grandi cambiamenti in alcune delle radici del polinomio.

Numeri fixed point. La rappresentazione dei numeri interi: i numeri fixed point. Rappresentazione fixed point di un intero positivo N

Numeri fixed point. La rappresentazione dei numeri interi: i numeri fixed point. Rappresentazione fixed point di un intero positivo N Numeri fixed point La rappresentazione dei numeri interi: i numeri fixed point Fissare La base Il numero di cifre a disposizione per il valore assoluto 1 per il segno Indichiamo con la rappresentazione

Dettagli

CALCOLO NUMERICO. Rappresentazione virgola mobile (Floating Point)

CALCOLO NUMERICO. Rappresentazione virgola mobile (Floating Point) ASA Marzo Docente Salvatore Mosaico Introduzione al Calcolo Numerico (parte ) CALCOLO NUMERICO Obiettivo del calcolo numerico è quello di fornire algoritmi numerici che, con un numero finito di operazioni

Dettagli

Rappresentazione dei dati reali e teoria degli errori. N. Del Buono

Rappresentazione dei dati reali e teoria degli errori. N. Del Buono Rappresentazione dei dati reali e teoria degli errori N. Del Buono Rappresentazione dei dati reali Sorgenti di errore Rappresentazione dei numeri reali in una base assegnata Rappresentazione approssimata

Dettagli

Aritmetica dei Calcolatori Elettronici

Aritmetica dei Calcolatori Elettronici Aritmetica dei Calcolatori Elettronici Prof. Orazio Mirabella L informazione Analogica Segnale analogico: variabile continua assume un numero infinito di valori entro l intervallo di variazione intervallo

Dettagli

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012 Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario Operazioni aritmetiche tra numeri in virgola mobile Algoritmi Esempi Errore di rappresentazione (assoluto e relativo) Approssimazione

Dettagli

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale Analogico vs. Digitale LEZIONE II La codifica binaria Analogico Segnale che può assumere infiniti valori con continuità Digitale Segnale che può assumere solo valori discreti Analogico vs digitale Il computer

Dettagli

Corso di Matematica per la Chimica

Corso di Matematica per la Chimica Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis Dipartimento di Matematica, Informatica e Economia Università della Basilicata a.a. 2014-15 Operazioni macchina e Cancellazione numerica

Dettagli

Unità aritmetica e logica

Unità aritmetica e logica Aritmetica del calcolatore Capitolo 9 Unità aritmetica e logica n Esegue le operazioni aritmetiche e logiche n Ogni altra componente nel calcolatore serve questa unità n Gestisce gli interi n Può gestire

Dettagli

Rappresentazione dei dati in memoria

Rappresentazione dei dati in memoria Rappresentazione dei dati in memoria La memoria Una memoria deve essere un insieme di oggetti a più stati. Questi oggetti devono essere tali che: le dimensioni siano limitate il tempo necessario per registrare

Dettagli

Codifica. Rappresentazione di numeri in memoria

Codifica. Rappresentazione di numeri in memoria Codifica Rappresentazione di numeri in memoria Rappresentazione polinomiale dei numeri Un numero decimale si rappresenta in notazione polinomiale moltiplicando ciascuna cifra a sinistra della virgola per

Dettagli

Elaborazione aut. dei dati

Elaborazione aut. dei dati Programma Elaborazione aut. dei dati Sistema interattivo MATLAB Risoluzione di sistemi lineari e di equazioni non lineari Interpolazione e smoothing di dati Opzioni finanziarie Approssimazione di integrali

Dettagli

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Sistema decimale La base del sistema è 10 Ogni numero viene rappresentato come con 0 a i 9. a = ±a m a m 1 a 1 a 0.a 1 a 2 a M Il sistema è detto posizionale:

Dettagli

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012 Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 I numeri reali Sommario Conversione dei numeri reali da base 10 a base B Rappresentazione dei numeri reali Virgola fissa Virgola mobile (mantissa

Dettagli

Calcolo numerico e programmazione Rappresentazione dei numeri

Calcolo numerico e programmazione Rappresentazione dei numeri Calcolo numerico e programmazione Rappresentazione dei numeri Tullio Facchinetti 16 marzo 2012 10:54 http://robot.unipv.it/toolleeo Rappresentazione dei numeri nei calcolatori

Dettagli

N= a i b i. Numeri e numerali. Sistemi di Numerazione Binaria. Sistemi posizionali. Numeri a precisione finita

N= a i b i. Numeri e numerali. Sistemi di Numerazione Binaria. Sistemi posizionali. Numeri a precisione finita Numeri e numerali Numero: entità astratta Numerale : stringa di caratteri che rappresenta un numero in un dato sistema di numerazione Sistemi di Numerazione Binaria Lo stesso numero è rappresentato da

Dettagli

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Numeri in virgola. Marco D. Santambrogio Ver. aggiornata al 10 Novembre 2015

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Numeri in virgola. Marco D. Santambrogio Ver. aggiornata al 10 Novembre 2015 Numeri in virgola Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 10 Novembre 2015 Numeri in virgola fissa Fino a questo punto abbiamo assunto che Un vettore di bit rappresentasse

Dettagli

La codifica. dell informazione

La codifica. dell informazione 00010010101001110101010100010110101000011100010111 00010010101001110101010100010110101000011100010111 La codifica 00010010101001110101010100010110101000011100010111 dell informazione 00010010101001110101010100010110101000011100010111

Dettagli

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Numeri in virgola. Marco D. Santambrogio Ver. aggiornata al 14 Novembre 2014

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Numeri in virgola. Marco D. Santambrogio Ver. aggiornata al 14 Novembre 2014 Numeri in virgola Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 14 Novembre 2014 Ogni promessa è debito 2 Ogni promessa è debito 3 Ogni promessa è debito Dove sei? 4 Ogni promessa

Dettagli

Analisi degli errori

Analisi degli errori Analisi degli errori Francesca Mazzia Dipartimento di Matematica Università di Bari Francesca Mazzia (Univ. Bari) Analisi degli errori 1 / 58 Errori Computazionali errori di arrotondamento: rappresentazione

Dettagli

Rappresentazione dei Numeri

Rappresentazione dei Numeri Rappresentazione dei Numeri Rappresentazione dei Numeri Il sistema numerico binario è quello che meglio si adatta alle caratteristiche del calcolatore Il problema della rappresentazione consiste nel trovare

Dettagli

Derivazione numerica. Introduzione al calcolo numerico. Derivazione numerica (II) Derivazione numerica (III)

Derivazione numerica. Introduzione al calcolo numerico. Derivazione numerica (II) Derivazione numerica (III) Derivazione numerica Introduzione al calcolo numerico Il calcolo della derivata di una funzione in un punto implica un processo al limite che può solo essere approssimato da un calcolatore. Supponiamo

Dettagli

Conversione di base. Conversione decimale binario. Si calcolano i resti delle divisioni per due

Conversione di base. Conversione decimale binario. Si calcolano i resti delle divisioni per due Conversione di base Dato N>0 intero convertirlo in base b dividiamo N per b, otteniamo un quoto Q 0 ed un resto R 0 dividiamo Q 0 per b, otteniamo un quoto Q 1 ed un resto R 1 ripetiamo finché Q n < b

Dettagli

CALCOLO NUMERICO. Aritmetica di macchina e analisi degli errori

CALCOLO NUMERICO. Aritmetica di macchina e analisi degli errori CALCOLO NUMERICO Aritmetica di macchina e analisi degli errori Ángeles Martínez Calomardo http://www.dmsa.unipd.it/ acalomar angeles.martinez@unipd.it Ingegneria Industriale (Aerospaziali Meccanici matricole

Dettagli

Lezione 3. I numeri relativi

Lezione 3. I numeri relativi Lezione 3 L artimetcia binaria: i numeri relativi i numeri frazionari I numeri relativi Si possono rappresentare i numeri negativi in due modi con modulo e segno in complemento a 2 1 Modulo e segno Si

Dettagli

Numeri reali. Notazione scientifica (decimale) Floating Point. Normalizzazione. Esempi. Aritmetica del calcolatore (virgola mobile)

Numeri reali. Notazione scientifica (decimale) Floating Point. Normalizzazione. Esempi. Aritmetica del calcolatore (virgola mobile) Numeri reali Aritmetica del calcolatore (virgola mobile) Capitolo 9 1 Numeri con frazioni Posso essere rappresentati anche in binario Es.: 1001.1010 = 2 4 + 2 0 +2-1 + 2-3 =9.625 Quante cifre dopo la virgola?

Dettagli

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi Somma di numeri floating point Algoritmi di moltiplicazione e divisione per numeri interi Standard IEEE754 " Standard IEEE754: Singola precisione (32 bit) si riescono a rappresentare numeri 2.0 10 2-38

Dettagli

Codifica di informazioni numeriche

Codifica di informazioni numeriche Università di Roma La Sapienza Dipartimento di Informatica e Sistemistica Codifica di informazioni numeriche Fondamenti di Informatica - Ingegneria Elettronica Leonardo Querzoni querzoni@dis.uniroma1.it

Dettagli

Sistema Numerico Decimale

Sistema Numerico Decimale Sistema Numerico Decimale 10 digits d = [0,1,2,3,4,5,6,7,8,9] 734 = 7 * 10 2 + 3 * 10 1 + 4 * 10 0 0.234 = 2 * 10-1 + 3 * 10-2 + 8 * 10-3 In generale un numero N con p digits(d) interi ed n digits frazionari

Dettagli

Rappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point)

Rappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point) Rappresentazione di Numeri Reali Un numero reale è una grandezza continua Può assumere infiniti valori In una rappresentazione di lunghezza limitata, deve di solito essere approssimato. Esistono due forme

Dettagli

Sperimentazioni di Fisica I mod. A Lezione 3

Sperimentazioni di Fisica I mod. A Lezione 3 Sperimentazioni di Fisica I mod. A Lezione 3 Alberto Garfagnini Marco Mazzocco Cinzia Sada La Rappresentazione dei Numeri Lezione III: Numeri Reali 1. Rappresentazione e Cambiamento di Base Dipartimento

Dettagli

Numeri di macchina. Lucia Gastaldi. DICATAM - Sez. di Matematica,

Numeri di macchina. Lucia Gastaldi. DICATAM - Sez. di Matematica, Numeri di macchina Lucia Gastaldi DICATAM - Sez. di Matematica, http://lucia-gastaldi.unibs.it Indice 1 Rappresentazione dei numeri Formato di memorizzazione dei numeri Arrotondamento di un numero reale

Dettagli

Rappresentazione in virgola mobile Barbara Masucci

Rappresentazione in virgola mobile Barbara Masucci Architettura degli Elaboratori Rappresentazione in virgola mobile Barbara Masucci Punto della situazione Abbiamo visto le rappresentazioni dei numeri: Ø Sistema posizionale pesato per Ø Ø Interi positivi

Dettagli

Rappresentazione dei numeri reali in un calcolatore

Rappresentazione dei numeri reali in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri reali in un calcolatore Lezione 3 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione di numeri

Dettagli

Cancellazione numerica e zeri di funzione. Dott. Marco Caliari

Cancellazione numerica e zeri di funzione. Dott. Marco Caliari Cancellazione numerica e zeri di funzione Dott. Marco Caliari PLS a.s. 01 013 Capitolo 1 Aritmetica floating point 1.1 I numeri macchina Data la capacità finita di un calcolatore, solo alcuni dei numeri

Dettagli

Sistemi di Numerazione Binaria

Sistemi di Numerazione Binaria Sistemi di Numerazione Binaria NB.1 Numeri e numerali Numero: entità astratta Numerale : stringa di caratteri che rappresenta un numero in un dato sistema di numerazione Lo stesso numero è rappresentato

Dettagli

Moltiplicazione. Divisione. Multipli e divisori

Moltiplicazione. Divisione. Multipli e divisori Addizione Sottrazione Potenze Moltiplicazione Divisione Multipli e divisori LE QUATTRO OPERAZIONI Una operazione aritmetica è quel procedimento che fa corrispondere ad una coppia ordinata di numeri (termini

Dettagli

Sistemi di Numerazione Binaria

Sistemi di Numerazione Binaria Sistemi di Numerazione Binaria NB.1 Numeri e numerali Numero: entità astratta Numerale : stringa di caratteri che rappresenta un numero in un dato sistema di numerazione Lo stesso numero è rappresentato

Dettagli

Calcolatori Elettronici Parte III: Sistemi di Numerazione Binaria

Calcolatori Elettronici Parte III: Sistemi di Numerazione Binaria Anno Accademico 2001/2002 Calcolatori Elettronici Parte III: Sistemi di Numerazione Binaria Prof. Riccardo Torlone Università di Roma Tre Numeri e numerali! Numero: entità astratta! Numerale: stringa di

Dettagli

Elementi di Algebra e di Matematica Discreta Numeri interi, divisibilità, numerazione in base n

Elementi di Algebra e di Matematica Discreta Numeri interi, divisibilità, numerazione in base n Elementi di Algebra e di Matematica Discreta Numeri interi, divisibilità, numerazione in base n Cristina Turrini UNIMI - 2016/2017 Cristina Turrini (UNIMI - 2016/2017) Elementi di Algebra e di Matematica

Dettagli

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari Lezione 4 L artimetica binaria: I numeri relativi e frazionari Sommario I numeri relativi I numeri frazionari I numeri in virgola fissa I numeri in virgola mobile 1 Cosa sono inumeri relativi? I numeri

Dettagli

Sistemi di Numerazione Binaria

Sistemi di Numerazione Binaria Sistemi di Numerazione Binaria BIN.1 Numeri e numerali Numero: entità astratta Numerale : stringa di caratteri che rappresenta un numero in un dato sistema di numerazione Lo stesso numero è rappresentato

Dettagli

Appunti di matematica per le Scienze Sociali Parte 1

Appunti di matematica per le Scienze Sociali Parte 1 Appunti di matematica per le Scienze Sociali Parte 1 1 Equazioni 1.1 Definizioni preliminari 1.1.1 Monomi Si definisce monomio ogni prodotto indicato di fattori qualsiasi, cioè uguali o diseguali, numerici

Dettagli

Esercitazione del 09/03/ Soluzioni

Esercitazione del 09/03/ Soluzioni Esercitazione del 09/03/2006 - Soluzioni. Conversione binario decimale ( Rappresentazione dell Informazione Conversione in e da un numero binario, slide 0) a. 0 2? 0 2 Base 2 Si cominciano a contare le

Dettagli

Somma di numeri binari

Somma di numeri binari Fondamenti di Informatica: Codifica Binaria dell Informazione 1 Somma di numeri binari 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Esempio: 10011011 + 00101011 = 11000110 in base e una base Fondamenti di

Dettagli

Corso di Matematica per la Chimica

Corso di Matematica per la Chimica Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis Dipartimento di Matematica, Informatica e Economia Università della Basilicata a.a. 2014-15 Errori Cause principali di errori nella risoluzione

Dettagli

Gli errori nella risoluzione di un problema

Gli errori nella risoluzione di un problema LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 13 GLI ERRORI DI ROUND-OFF Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna

Dettagli

Problema numerico. Relazione funzionale chiara e non ambigua tra dati iniziali e la soluzione. Dati iniziali e soluzione sono due vettori finiti

Problema numerico. Relazione funzionale chiara e non ambigua tra dati iniziali e la soluzione. Dati iniziali e soluzione sono due vettori finiti Problema numerico Relazione funzionale chiara e non ambigua tra dati iniziali e la soluzione. Dati iniziali e soluzione sono due vettori finiti X F(X) F Y Metodo numerico Descrizione matematica dei calcoli

Dettagli

Note del corso di Laboratorio di Programmazione e Calcolo: Analisi della stabilità e della complessità computazionale di un algoritmo

Note del corso di Laboratorio di Programmazione e Calcolo: Analisi della stabilità e della complessità computazionale di un algoritmo Corso di laurea in Matematica SAPIENZA Università di Roma Note del corso di Laboratorio di Programmazione e Calcolo: Analisi della stabilità e della complessità computazionale di un algoritmo Dipartimento

Dettagli

GLI ERRORI. Problema. valutare l'accuratezza del risultato di un calcolo e quindi l'affidabilità del risultato stesso. Prof.

GLI ERRORI. Problema. valutare l'accuratezza del risultato di un calcolo e quindi l'affidabilità del risultato stesso. Prof. GLI ERRORI Prof. Almerico Murli a.a. 2002-2003 1 Problema valutare l'accuratezza del risultato di un calcolo e quindi l'affidabilità del risultato stesso 2 Esempio Si vuole approssimare x = 10.1294 con

Dettagli

Esercizi di Analisi Numerica. Errori, Cambi di base, Numeri macchina, Aritmetica finita

Esercizi di Analisi Numerica. Errori, Cambi di base, Numeri macchina, Aritmetica finita Esercizi di Analisi Numerica Errori, Cambi di base, Numeri macchina, Aritmetica finita ERRORI - es. 1 Calcolare il numero di decimali esatti e di cifre significative nei seguenti numeri scritti in base

Dettagli

Fondamenti di Programmazione. Sistemi di rappresentazione

Fondamenti di Programmazione. Sistemi di rappresentazione Fondamenti di Programmazione Sistemi di rappresentazione Numeri e numerali Il numero cinque 5 V _ Π 五 Arabo Romano Maya Greco Cinese Il sistema decimale Sistemi posizionali 1 10 3 + 4 10 2 + 9 10 1 + 2

Dettagli

Rappresentazione dell informazione

Rappresentazione dell informazione Rappresentazione dell informazione Problema che coinvolge aspetti filosofici Interessa soprattutto distinguere informazioni diverse Con un solo simbolo è impossibile Pertanto l insieme minimo è costituito

Dettagli

Rappresentazione in virgola mobile. 5 ottobre 2015

Rappresentazione in virgola mobile. 5 ottobre 2015 Rappresentazione in virgola mobile 5 ottobre 2015 Punto della situazione Abbiamo visto le rappresentazioni dei numeri: Sistema posizionale pesato per interi positivi (nella varie basi) Sistema posizionale

Dettagli

Corso di Matematica per la Chimica

Corso di Matematica per la Chimica Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis Dipartimento di Matematica, Informatica e Economia Università della Basilicata a.a. 2014-15 Propagazione degli errori introdotti nei dati

Dettagli

Rappresentazione dei numeri reali

Rappresentazione dei numeri reali Rappresentazione dei numeri reali La rappresentazione dei numeri reali in base 2 è completamente analoga a quella in base : Parte intera + parte frazionaria, separate da un punto La parte frazionaria è

Dettagli

Un monomio è in forma normale se è il prodotto di un solo fattore numerico e di fattori letterali con basi diverse. Tutto quanto sarà detto di

Un monomio è in forma normale se è il prodotto di un solo fattore numerico e di fattori letterali con basi diverse. Tutto quanto sarà detto di DEFINIZIONE Espressione algebrica costituita dal prodotto tra una parte numerica (coefficiente) e una o più variabili e/o costanti (parte letterale). Variabili e costanti possono comparire elevate a potenza

Dettagli

Numeri in virgola mobile

Numeri in virgola mobile Numeri in virgola mobile PH. 3.6 1 Motivazioni virgola mobile Rappresentazione in virgola fissa per rappresentare numeri frazionari fissando la posizione della virgola su una posizione prestabilita Le

Dettagli

04 Aritmetica del calcolatore

04 Aritmetica del calcolatore Aritmetica del calcolatore Numeri a precisione finita - con un numero finito di cifre - non godono della proprietà di chiusura - le violazioni creano due situazioni distinte: - overflow - underflow Pagina

Dettagli

La Rappresentazione dell Informazione

La Rappresentazione dell Informazione La Rappresentazione dell Informazione Maurizio Palesi Sommario In questo documento sarà trattato il modo in cui, in un calcolatore, vengono rappresentati i vari generi di informazione (testi, numeri interi,

Dettagli

Corso di Laurea Specialistica in Ingegneria Meccanica e Ingegneria Energetica Progetto numerico al calcolatore

Corso di Laurea Specialistica in Ingegneria Meccanica e Ingegneria Energetica Progetto numerico al calcolatore Corso di Laurea Specialistica in Ingegneria Meccanica e Ingegneria Energetica Progetto numerico al calcolatore Soluzione di un sistema non lineare con la Regula Falsi generalizzata per la determinazione

Dettagli

Informazione binaria: - rappresentazione dei numeri razionali -

Informazione binaria: - rappresentazione dei numeri razionali - Informazione binaria: - rappresentazione dei numeri razionali - Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Nel seguito vedremo tipologie

Dettagli

Precorso di Matematica

Precorso di Matematica UNIVERSITÀ DEGLI STUDI ROMA TRE FACOLTA DI ARCHITETTURA Precorso di Matematica Anna Scaramuzza Anno Accademico 2005-2006 4-10 Ottobre 2005 INDICE 1. ALGEBRA................................. 3 1.1 Equazioni

Dettagli

Codifica binaria. Rappresentazioni medianti basi diverse

Codifica binaria. Rappresentazioni medianti basi diverse Codifica binaria Rappresentazione di numeri Notazione di tipo posizionale (come la notazione decimale). Ogni numero è rappresentato da una sequenza di simboli Il valore del numero dipende non solo dalla

Dettagli

Sistemi di Numerazione

Sistemi di Numerazione Sistemi di Numerazione Corso Università Numeri e Numerali Il numero cinque 5 V _ Π Arabo Romano Maya Greco Cinese Il sistema decimale Sistemi Posizionali 1 10 3 + 4 10 2 + 9 10 1 + 2 10 0 Sistemi Posizionali

Dettagli

Cap. 2 - Rappresentazione in base 2 dei numeri interi

Cap. 2 - Rappresentazione in base 2 dei numeri interi Cap. 2 - Rappresentazione in base 2 dei numeri interi 2.1 I NUMERI INTERI RELATIVI I numeri relativi sono numeri con il segno: essi possono essere quindi positivi e negativi. Si dividono in due categorie:

Dettagli

LA CODIFICA DELL INFORMAZIONE

LA CODIFICA DELL INFORMAZIONE LA CODIFICA DELL INFORMAZIONE Prof. Enrico Terrone A. S: 20/2 Lo schema di Tanenbaum Il livello al quale ci interessiamo in questa lezione è il linguaggio macchina, l unico dove le informazioni e istruzioni

Dettagli

Rappresentazione dell Informazione

Rappresentazione dell Informazione Rappresentazione dell Informazione Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali Rappresentazione del testo Una stringa di bit per ogni simbolo

Dettagli

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base Cambiamenti di base Tecniche Informatiche di Base TIB 1 Il sistema posizionale decimale L idea del sistema posizionale: ogni cifra ha un peso Esempio: 132 = 100 + 30 + 2 = 1 10 2 + 3 10 1 + 2 10 0 Un numero

Dettagli

Corso di Calcolo Numerico Informatica e Comunicazione Digitale - Taranto A.A. 2015/2016

Corso di Calcolo Numerico Informatica e Comunicazione Digitale - Taranto A.A. 2015/2016 di Corso di Calcolo Numerico Informatica e Comunicazione Digitale - Taranto A.A. 2015/2016 Giuseppina Settanni Dipartimento di Matematica Università degli Studi di Bari Aldo Moro 1 / 50 di 1 2 di Table

Dettagli

INTERPOLAZIONE. Introduzione

INTERPOLAZIONE. Introduzione Introduzione INTERPOLAZIONE Quando ci si propone di indagare sperimentalmente la legge di un fenomeno, nel quale intervengono due grandezze x, y simultaneamente variabili, e una dipendente dall altra,

Dettagli

Abilità Informatiche e Telematiche

Abilità Informatiche e Telematiche Abilità Informatiche e Telematiche (Laurea Triennale + Laurea Magistrale) Marco Pedicini mailto:marco.pedicini@uniroma3.it Corso di Laurea Magistrale in Informazione, Editoria e Giornalismo, Università

Dettagli

Calcolatori: Sistemi di Numerazione

Calcolatori: Sistemi di Numerazione Calcolatori: Sistemi di Numerazione Sistemi di Numerazione: introduzione In un Calcolatore, i Dati e le Istruzioni di un Programma sono codificate in forma inaria, ossia in una sequenza finita di e. Un

Dettagli

Rappresentazione numeri relativi e reali

Rappresentazione numeri relativi e reali Rappresentazione numeri relativi e reali Lezione 2 Rappresentazione numeri relativi Rappresentazione numeri reali Rappresentazione in Modulo e Segno Rappresentare separatamente il segno (mediante un bit

Dettagli

Rappresentazione dei Dati

Rappresentazione dei Dati Parte II I computer hanno una memoria finita. Quindi, l insieme dei numeri interi e reali che si possono rappresentare in un computer è necessariamente finito 2 Codifica Binaria Tutti i dati usati dagli

Dettagli

CONVERSIONE DA DECIMALE A BINARIO

CONVERSIONE DA DECIMALE A BINARIO CONVERSIONE DA DECIMALE A BINARIO Il procedimento per convertire in forma binaria un certo numero decimale n consiste nello scrivere, andando da destra verso sinistra, le cifre oppure seguendo delle determinate

Dettagli

Rappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto

Rappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto Rappresentazione di numeri relativi (interi con segno) E possibile estendere in modo naturale la rappresentazione dei numeri naturali ai numeri relativi. I numeri relativi sono numeri naturali preceduti

Dettagli

LOGARITMI. Corso di laurea: BIOLOGIA Tutor: Floris Marta; Max Artizzu PRECORSI DI MATEMATICA. L uguaglianza: a x = b

LOGARITMI. Corso di laurea: BIOLOGIA Tutor: Floris Marta; Max Artizzu PRECORSI DI MATEMATICA. L uguaglianza: a x = b Corso di laurea: BIOLOGIA Tutor: Floris Marta; Max Artizzu PRECORSI DI MATEMATICA LOGARITMI L uguaglianza: a x = b nella quale a e b rappresentano due numeri reali noti ed x un incognita, è un equazione

Dettagli

Esercitazioni di Matematica Generale A.A. 2016/2017 Pietro Pastore Lezione del 21 Novembre Logaritmi e Proprietà

Esercitazioni di Matematica Generale A.A. 2016/2017 Pietro Pastore Lezione del 21 Novembre Logaritmi e Proprietà Esercitazioni di Matematica Generale A.A. 016/017 Pietro Pastore Lezione del 1 Novembre 016 Logaritmi e Proprietà Quando scriviamo log a b = c che leggiamo logaritmo in base a di b uguale a c, c è l esponente

Dettagli

Esercitazioni su rappresentazione dei numeri e aritmetica. Interi unsigned in base 2

Esercitazioni su rappresentazione dei numeri e aritmetica. Interi unsigned in base 2 Esercitazioni su rappresentazione dei numeri e aritmetica Salvatore Orlando & Marta Simeoni Interi unsigned in base 2 Si utilizza un alfabeto binario A = {0,1}, dove 0 corrisponde al numero zero, e 1 corrisponde

Dettagli

Fondamenti di Programmazione. Sistemi di rappresentazione

Fondamenti di Programmazione. Sistemi di rappresentazione Fondamenti di Programmazione Sistemi di rappresentazione Numeri e numerali Il numero cinque 5 V _ Π 五 Arabo Romano Maya Greco Cinese Sistemi posizionali 1 10 3 + 4 10 2 + 9 10 1 + 2 10 0 Sistemi posizionali

Dettagli

Corso di Analisi Matematica. Polinomi e serie di Taylor

Corso di Analisi Matematica. Polinomi e serie di Taylor a.a. 2011/12 Laurea triennale in Informatica Corso di Analisi Matematica Polinomi e serie di Taylor Avvertenza Questi sono appunti informali delle lezioni, che vengono resi disponibili per comodità degli

Dettagli

Firmware Division & Floating pointer adder

Firmware Division & Floating pointer adder Firmware Division & Floating pointer adder Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@di.unimi.it Università degli Studi di Milano Riferimenti sul Patterson: 3.4, 3.5 1/47

Dettagli

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara Sistemi lineari Lorenzo Pareschi Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara http://utenti.unife.it/lorenzo.pareschi/ lorenzo.pareschi@unife.it Lorenzo Pareschi (Univ. Ferrara)

Dettagli

Rappresentazione. Notazione in complemento a 2. Complemento a due su 3 e 4 bit Complemento a due

Rappresentazione. Notazione in complemento a 2. Complemento a due su 3 e 4 bit Complemento a due Rappresentazione degli interi Notazione in complemento a 2 n bit per la notazione Nella realta n=32 Per comodita noi supponiamo n=4 Numeri positivi 0 si rappresenta con 4 zeri 0000 1 0001, 2 0010 e cosi

Dettagli

Conversione binario-decimale. Interi unsigned in base 2. Esercitazioni su rappresentazione. dei numeri e aritmetica

Conversione binario-decimale. Interi unsigned in base 2. Esercitazioni su rappresentazione. dei numeri e aritmetica Esercitazioni su rappresentazione dei numeri e aritmetica Salvatore Orlando & Marta Simeoni Interi unsigned in base 2 I seguenti numeri naturali sono rappresentabili usando il numero di bit specificato?

Dettagli

Riassunto Nell'esercitazione di oggi e' stata introdotta la codifica binaria naturale, intera e razionale in virgola fissa. Il materiale teorico

Riassunto Nell'esercitazione di oggi e' stata introdotta la codifica binaria naturale, intera e razionale in virgola fissa. Il materiale teorico Riassunto Nell'esercitazione di oggi e' stata introdotta la codifica binaria naturale, intera e razionale in virgola fissa. Il materiale teorico utilizzato e' disponibile nella Dispensa sulla codifica

Dettagli

Interi unsigned in base 2. Esercitazioni su rappresentazione dei numeri e aritmetica. Conversione binario-decimale

Interi unsigned in base 2. Esercitazioni su rappresentazione dei numeri e aritmetica. Conversione binario-decimale Arch. Elab. A M. Simeoni 1 Interi unsigned in base 2 Si utilizza un alfabeto binario A = {0,1}, dove 0 corrisponde al numero zero, e 1 corrisponde al numero uno d n1...d 1 d 0 con di d i {0,1} Esercitazioni

Dettagli

I numeri reali e la loro rappresentazione

I numeri reali e la loro rappresentazione I numeri reali e la loro rappresentazione 1 Alcune figure di questi appunti riportano nei commenti esempi in linguaggio MATLAB. In tali esempi i caratteri di peso normale sono prodotti dal computer mentre

Dettagli

La codifica digitale

La codifica digitale La codifica digitale Codifica digitale Il computer e il sistema binario Il computer elabora esclusivamente numeri. Ogni immagine, ogni suono, ogni informazione per essere compresa e rielaborata dal calcolatore

Dettagli

Rappresentazione numeri reali

Rappresentazione numeri reali Rappresentazione numeri reali I numeri reali rappresentabili in un calcolatore sono in realtà numeri razionali che approssimano i numeri reali con un certo grado di precisione Per rappresentare un numero

Dettagli

La codifica. dell informazione

La codifica. dell informazione La codifica dell informazione (continua) Codifica dei numeri Il codice ASCII consente di codificare le cifre decimali da 0 a 9 fornendo in questo modo un metodo per la rappresentazione dei numeri Il numero

Dettagli

Rappresentazione di numeri reali. Architetture dei Calcolatori (Lettere. Perché la rappresentazione in virgola mobile

Rappresentazione di numeri reali. Architetture dei Calcolatori (Lettere. Perché la rappresentazione in virgola mobile Rappresentazione di numeri reali Architetture dei Calcolatori (Lettere A-I) Rappresentazione in Virgola Mobile Ing.. Francesco Lo Presti Con un numero finito di cifre è possibile rappresentare solo un

Dettagli

Introduzione e Nozioni di Base. Prof. Thomas Casali

Introduzione e Nozioni di Base. Prof. Thomas Casali Università degli studi di Bologna Facoltà di Economia Sede di Forlì Introduzione e Nozioni di Base Corso di Laurea in Economia di Internet Prof. Thomas Casali thomas@casali.biz La rappresentazione digitale

Dettagli

Appunti del corso di Sistemi - Conversioni numeriche anno scolastico 2007/2008

Appunti del corso di Sistemi - Conversioni numeriche anno scolastico 2007/2008 I sistemi numerici Il sistema Decimale è costituito da 10 simboli. I dieci simboli che tutti conosciamo sono lo zero (0), l uno (1), il due (2), ecc. ecc., indicati come l insieme Dec={0,1,2,3,4,5,6,7,8,9}.

Dettagli

Esercitazione del 2/3/2010- Numeri binari e conversione

Esercitazione del 2/3/2010- Numeri binari e conversione Esercitazione del 2/3/2010- Numeri binari e conversione 1. Conversione binario decimale a. 1101 2? 10 1 1 2 Base 2 La posizione della cifra all interno del numero indica il peso della cifra stessa, cioè

Dettagli

Lezione 4. Lezione 4. Rappresentazioni numeriche. Rappresentazioni numeriche. Rappresentazioni numeriche. Rappresentazioni numeriche

Lezione 4. Lezione 4. Rappresentazioni numeriche. Rappresentazioni numeriche. Rappresentazioni numeriche. Rappresentazioni numeriche Sommario Lezione 4 Aritmetica in complemento a due Proprietà della rappresentazione in complemento a due Rappresentazioni a virgola mobile Lezione 4 Materiale di riferimento 1. D. A. Patterson, J. L. Hennessy,

Dettagli

Lezioni di Informarica. Prof. Giovanni Occhipinti

Lezioni di Informarica. Prof. Giovanni Occhipinti Lezioni di Informarica Prof. Giovanni Occhipinti 23 settembre 2010 2 Indice 1 La codifica delle Informazioni 5 1.1 Il sistema binario........................... 5 1.1.1 Conversione da binario a decimale.............

Dettagli

I.4 Rappresentazione dell informazione

I.4 Rappresentazione dell informazione I.4 Rappresentazione dell informazione Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 13, 2015 Argomenti Introduzione 1 Introduzione 2 3 L elaboratore Introduzione

Dettagli

Laboratorio del 21/10/2010- Numeri binari e conversione

Laboratorio del 21/10/2010- Numeri binari e conversione Laboratorio del 21/10/2010- Numeri binari e conversione 1. Conversione binario decimale a. 1101 2? 10 1 1 2 Base 2 La posizione della cifra all interno del numero indica il peso della cifra stessa, cioè

Dettagli

Prontuario degli argomenti di Algebra

Prontuario degli argomenti di Algebra Prontuario degli argomenti di Algebra NUMERI RELATIVI Un numero relativo è un numero preceduto da un segno + o - indicante la posizione rispetto ad un punto di riferimento a cui si associa il valore 0.

Dettagli