La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Metodi e Applicazioni numeriche nell’Ingegneria Chimica

Presentazioni simili


Presentazione sul tema: "Metodi e Applicazioni numeriche nell’Ingegneria Chimica"— Transcript della presentazione:

1 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

2 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Introduzione (Continua) Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

3 Rappresentazione dei numeri su calcolatore
Quesito Come fa il calcolatore a memorizzare un numero? Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

4 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Promemoria Che cosa sono i bit e che cosa sono i byte? Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

5 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Il bit è l’elemento di base su cui il compilatore scrive 1 o 0 (vero o falso). Un byte è una sequenza di 8 bit. Con un byte si hanno a disposizione 256 = 28 combinazioni. Perciò con un byte si possono scrivere i primi 255 = 28 – 1 interi positivi (essendo una combinazione dedicata allo zero). Esempio = 0 x x x x x x x x 20 = 1 x x x 20 = 37 Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

6 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Se si vuole rappresentare un numero intero positivo o negativo bisogna dedicare un bit al tipo di segno. Perciò un byte può rappresentare solo la metà dei precedenti numeri quando si desidera considerare anche il segno del numero stesso. Tutti i linguaggi mettono a disposizione questa tecnica per memorizzare i numeri interi siano essi con o senza segno. A seconda del calcolatore il numero di byte messi a disposizione per rappresentare un numero intero può variare. I calcolatori attuali dedicano 4 byte (32 bit) per rappresentare un intero e perciò possono rappresentare numeri interi con segno che vanno da a e numeri interi positivi compresi fra 0 e Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

7 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Ma se come normalmente avviene nei calcoli numerici si ha a che fare con numeri reali che non sono interi come fa il calcolatore a memorizzarli? Esso dedica ancora un certo numero di byte per la memorizzazione del numero, che deve essere scritto mediante la notazione scientifica. Un bit serve per il segno, alcuni bit servono per le cifre significative del numero e altri bit per l’esponente. Esempio Un numero come viene memorizzato come se fosse scritto mediante la notazione scientifica ossia Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

8 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
A proposito di numeri Quesito Secondo voi perché nelle scienze è fondamentale rappresentare i numeri con la precedente notazione (detta anche notazione scientifica)? Ossia perché è molto meglio scrivere: invece di: Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

9 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Per due motivi: 1. Perché si sa immediatamente quale è l’ordine di grandezza del numero. Questa informazione è fondamentale perché evita errori banali. 2. Perché vengono scritte solo le cifre significative del numero e quindi si conosce immediatamente e senza equivoci la sua precisione. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

10 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Tutti i linguaggi mettono a disposizione (almeno) due tipi di numeri memorizzabili in questo modo detto in virgola mobile (floating point): numeri in semplice e in doppia precisione. I calcolatori attuali dedicano 4 byte per rappresentare un numero in semplice precisione e 8 byte per rappresentare un numero in doppia precisione. Un numero in semplice precisione deve essere compreso fra ± e ± mentre un numero in doppia precisione deve essere compreso fra ± e ±10308. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

11 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Che cosa succede se un numero esce da questi limiti? Se durante un’operazione il risultato è inferiore al minimo numero memorizzabile si ha un underflow mentre se il risultato è superiore al massimo numero memorizzabile si ha un overflow. In caso di underflow normalmente il numero viene posto uguale a 0. In caso di overflow i vecchi compilatori davano un messaggio di errore e i calcoli venivano interrotti. In caso di overflow con i compilatori attuali il numero viene posto uguale ad un simbolo speciale, ma i calcoli procedono e non viene dato alcun messaggio di errore. Questa mancanza di interruzione dei calcoli e di avviso di errore può essere molto pericolosa. È possibile e consigliabile non accettare questa condizione di default del compilatore in modo che venga segnalata la presenza di un overflow. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

12 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Come detto più sopra un numero in virgola mobile ha a disposizione un certo numero finito di byte per memorizzare il suo segno, la sue cifre significative e il suo esponente. Che cosa succede se un numero non può essere rappresentato esattamente? Un numero non rappresentabile esattamente viene arrotondato. Se la prima cifra non memorizzabile è maggiore di 5 l’ultima cifra memorizzabile viene aumentata di uno. Se la prima cifra non memorizzabile è minore di 5 l’ultima cifra memorizzabile viene lasciata inalterata. Se la prima cifra non memorizzabile è uguale a 5 l’ultima cifra memorizzabile viene aumentata di uno o lasciata inalterata con scelta casuale. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

13 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Esempio Dato il numero e una precisione che consenta di memorizzare solo 8 cifre significative il numero viene arrotondato e memorizzato come Dato il numero e una precisione che consenta di memorizzare solo 8 cifre significative il numero viene arrotondato e memorizzato come Dato il numero e una precisione che consenta di memorizzare solo 8 cifre significative il numero viene arrotondato in modo casuale e memorizzato o come o come Per indicare che il numero, x, è memorizzato in virgola mobile e che quindi è stato arrotondato si scrive fl(x). fl(x) = x(1. + e) e (o anche macheps) è chiamato precisione della macchina. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

14 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
macheps è il più piccolo numero positivo per cui: fl(1. + macheps) > 1. Algoritmo (1.1): Calcolo di macheps for i = 1, 2, 3,… eps = macheps + 1. if(eps = 1.) macheps = macheps / 2. macheps = 1. macheps = 2. * macheps quit Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

15 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Sugli attuali processori INTEL (o analoghi) si hanno i seguenti valori di macheps: Semplice precisione: Doppia precisione: Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

16 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Operazioni elementari su calcolatore Dati due numeri in virgola mobile le operazioni elementari di somma, sottrazione, moltiplicazione e divisione vengono eseguite con la seguente strategia: L’operazione viene eseguita sui due numeri memorizzati usando una precisione molto superiore a quella usata nella memorizzazione dei due numeri. Il risultato viene poi arrotondato usando la stessa precisione usata nella memorizzazione dei due numeri. Indicando con w uno qualsiasi dei simboli di operazione elementare (+, - ,* , /) eseguita in modo esatto sui due numeri memorizzati e con w* l’operazione eseguita in virgola mobile si ha perciò: x w* y = x w y (1. + e) Ossia l’operazione in virgola mobile viene prima eseguita in modo esatto: x w y e poi arrotondata: x w y (1. + e) Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

17 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Analisi dell’errore di arrotondamento Per molto tempo l’errore di arrotondamento è stato studiato cercando di rispondere alla seguente domanda: Quanto differisce la soluzione numerica dalla soluzione esatta a causa degli errori di arrotondamento? Questa tipo di analisi viene chiamata Analisi Forward (in avanti) L’analisi di tipo Forward non porta ad alcun risultato pratico perché essendo effettuata nell’ipotesi che siano presenti errori di arrotondamento non è più utilizzabile l’analisi classica. In particolare non sono più valide le proprietà associativa e distributiva delle operazioni elementari. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

18 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Esempio Dati tre numeri: a = b = c = risulta con un calcolatore avente 8 cifre significative: d = a + b = d = d + c = oppure: d = a + c = d = d + b = Ossia a seconda della sequenza utilizzata cambia il risultato ottenuto! Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

19 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Completamente diversa è l’analisi dell’errore di tipo Backward (all’indietro) In questo caso l’errore di arrotondamento viene studiato cercando di rispondere alla seguente domanda: Quanto differisce il problema che abbiamo risolto numericamente da quello originario nell’ipotesi che la soluzione trovata sia esatta? È importante comprendere a fondo la differenza fra i due punti di vista Icona del sole Vedi avanti Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

20 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Esempio Si prenda in esame l’errore di arrotondamento commesso in una operazione elementare: x w* y = x w y (1. + e) 1. Punto di vista Forward: Il risultato dell’operazione differisce dal risultato esatto della quantità: x w y e Secondo questo punto di vista anche se x e y sono esatti è l’operazione che genera l’errore. 2. Punto di vista Backward: Secondo questo punto di vista o x o y o entrambi sono errati mentre l’operazione è esatta. Per esempio attribuendo l’errore a y la precedente relazione viene letta nel seguente modo: x w* y = x w [y (1. + e)] Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

21 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Esempio Si supponga di dover risolvere un sistema lineare utilizzando un particolare algoritmo: Ax = b 1. Punto di vista Forward: Quanto differisce la soluzione ottenuta usando il particolare algoritmo dalla soluzione esatta? 2. Punto di vista Backward: Quanto devo modificare i coefficienti della matrice A affinché la soluzione esatta del nuovo sistema coincida con quella trovata usando quel particolare algoritmo? Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

22 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Con il ribaltamento del punto di vista ora le operazioni elementari vengono trattate come quelle dell’analisi classica. Esse godono perciò delle proprietà associativa e distributiva. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

23 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Breve parentesi sull’argomento Come imparare a imparare Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

24 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Una grossa difficoltà nell’imparare un nuovo argomento sta nel fatto che spesso nel nuovo argomento si incontrano concetti nuovi e quindi si deve cambiare punto di vista. È importante capire che cosa significa cambiare punto di vista e perché è difficile cambiare punto di vista. Poiché è anche difficile accorgersi quando è necessario cambiare punto di vista sul libro: Metodi Numerici e Software in C++ ciò viene sottolineato mediante l’icona di un sole che qui verrà rappresentato in forma più sportiva. Quando appare questa icona voglio richiamare la vostra attenzione sul fatto che si è in presenza di un nuovo modo per affrontare un vecchio problema. Inversione della matrice Soluzione del sistema Analisi Forward Analisi Backward Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

25 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Quando si deve spiegare un nuovo modo per risolvere un problema si incontra una difficoltà didattica troppo spesso sottovalutata. Molte delle parole e dei concetti utilizzati precedentemente cambiano di significato. Si consideri, per esempio, la seguente asserzione: È il sole che si muove, la terra sta ferma. Il significato della precedente asserzione cambia in modo sostanziale a seconda di chi la sta analizzando perché dipende dal significato attribuito al concetto di moto e di quiete. Aristotele, Galileo, Einstein o una persona dotata di buon senso, ma digiuna di fisica attribuirebbero a tale asserzione significati totalmente diversi. In queste situazioni è indispensabile, per poter comunicare in modo corretto, riuscire a comprendere a fondo il significato attribuito dall’interlocutore ai vari concetti in gioco. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

26 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Lo scopo dell’icona precedente è quello di avvisare il lettore che vi è un cambiamento nel modo di affrontare un problema e che di conseguenza muta il significato di qualche concetto. Ho scelto come icona un sole stilizzato in ricordo della famosa rivoluzione copernicana di Kant nell’ambito della conoscenza. Qui è proprio come per la prima idea di Copernico; il quale, vedendo che non poteva spiegare i movimenti celesti ammettendo che tutto l’esercito degli astri rotasse intorno allo spettatore, cercò se non potesse riuscir meglio facendo girare l’osservatore, e lasciando invece in riposo gli astri (Kant, Critica della ragion pura). In modo analogo per la conoscenza: Se l’intuizione si deve regolare sulla natura degli oggetti, non vedo proprio come si potrebbe saperne qualcosa a priori; se l’oggetto invece (in quanto oggetto del senso) si regola sulla natura della nostra facoltà intuitiva, mi posso benissimo rappresentare questa possibilità… Noi delle cose non conosciamo a priori, se non quello che noi stessi vi mettiamo (Kant, Critica della ragion pura). Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

27 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
La lezione della teoria della conoscenza di Kant, che qui importa sottolineare, è questa: Il background di conoscenze teoriche ha un potente e indispensabile funzione normativa, che indirizza e guida le nostre osservazioni, le nostre intuizioni, il nostro linguaggio. Questa funzione normativa è, però, anche di impedimento, perché rende difficile osservare fatti noti in modo differente, condizione questa indispensabile per ogni scoperta scientifica e, nel nostro piccolo, per ogni cambiamento concettuale. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

28 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Attenzione Si deve sottolineare una importante differenza con la teoria di Kant Per Kant la funzione normativa è fonte delle nostre conoscenze a priori e perciò è uguale per tutti ed eternamente fissata. Secondo me è il background di conoscenze teoriche che genera la funzione normativa e perciò può essere modificato Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

29 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Si osservi con attenzione la seguente immagine: Non è difficile riconoscervi il viso di una donna vecchia e brutta. Più difficile è, invece, riuscire a vedere in questo disegno anche il viso di una donna giovane e carina. Inoltre una volta individuato il viso di una vecchia riesce quasi impossibile vedere la donna giovane (o viceversa se si è scorto per primo il viso della donna giovane). Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

30 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Solo con pazienza e con l’esercizio si riesce a vedere alternativamente e senza difficoltà sia la donna giovane che quella vecchia. E solo a partire da quel momento si potrà discutere sensatamente sia con chi vede in quella figura una donna giovane e carina o una donna anziana molto brutta. Mentre è ovvio che non è possibile una discussione che non provochi situazioni paradossali fra due persone che vedano nella figura precedente due persone totalmente diverse. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

31 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Morale Primo fatto del tutto generale: quando si osserva qualcosa, così come quando si affronta un problema, si rimane vincolati ad un preciso punto di vista, che rende molto difficile prendere in considerazione altri punti di vista. Secondo fatto del tutto generale: il punto di vista che ci indirizza e guida dipende in modo essenziale dalle conoscenze e dalle esperienze passate. Terzo fatto del tutto generale: per poter intavolare un discorso sensato è indispensabile condividere o perlomeno capire il punto di vista dell’interlocutore. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

32 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Chiusa la parentesi sull’argomento Come imparare a imparare Wooko: Non esistono domande stupide! Flinks: E’ proprio vero! Ci sono solo risposte stupide. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

33 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Errore locale L’errore legato al fatto che nell’algoritmo sono presenti delle approssimazioni viene chiamato errore locale. L’errore locale viene calcolato supponendo che i dati siano esatti e che i calcoli siano eseguiti senza commettere errori di arrotondamento. Propagazione dell’errore L’errore sulla soluzione causato da una perturbazione dei dati viene chiamato propagazione dell’errore. L’errore di propagazione viene calcolato perturbando i dati ed eseguendo i calcoli senza errori di arrotondamento. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

34 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Esempio La formula per integrare un’equazione differenziale con il metodo di Eulero forward è: yn+1 = yn +hf(yn,tn) Il valore di yn+1 nel punto tn+1 è soggetto a due cause di errore. 1. L’equazione differenziale è stata approssimata con un’espressione alle differenze finite; questa è la fonte dell’errore locale che è dato dalla differenza fra il valore calcolabile analiticamente e quello ottenibile con la formula di Eulero nell’ipotesi di conoscere il valore esatto di y nel punto tn e di eseguire i calcoli in modo esatto. 2. Dal momento che il valore di yn non è esatto a causa dei calcoli precedenti si ha una propagazione dell’errore che dipende dalle caratteristiche dell’algoritmo e della funzione che si sta integrando. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

35 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Propagazione dell’errore Si supponga di avere una semplice funzione che lega fra loro due variabili, x e y. Se si perturba la variabile x risulta: da cui: con La funzione k(x) che lega l’errore relativo di y a quello di x viene chiamata numero di condizionamento. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

36 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Il numero di condizionamento rappresenta il fattore di amplificazione dell’errore relativo. Esempio Si considerino le quattro operazioni elementari: moltiplicazione, divisione, somma e sottrazione. Si ricorda che si indica con il simbolo w* una delle quattro operazioni in virgola mobile e con w la stessa operazione eseguita esattamente. L’errore locale delle quattro operazioni è dato dalla relazione x w* y = (x w y) (1 + e) con e < macheps Dal punto di vista dell’errore locale le quattro operazioni elementari sono equivalenti e hanno tutte un errore locale dell’ordine di grandezza della precisione della macchina. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

37 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Dal punto di vista della propagazione dell’errore le cose stanno in modo completamente diverso. Si supponga per semplicità di eseguire un’operazione elementare fra un numero, a, non soggetto ad errore e rappresentabile esattamente sul calcolatore e un altro numero, x, che viceversa ha un errore relativo ex. Moltiplicazione y = a * x La moltiplicazione è un’operazione sempre sicura perché non amplifica mai l’errore relativo Divisione y = a / x La divisione è un’operazione sempre sicura perché non amplifica mai l’errore relativo Somma y = a + x La somma è un’operazione sicura solo se i due addendi hanno lo stesso segno Sottrazione y = a - x La somma è un’operazione che amplifica in modo abnorme l’errore relativo se i due termini hanno segno diverso e sono dello stesso ordine di grandezza La sottrazione è un’operazione che amplifica in modo abnorme l’errore relativo se i due termini hanno lo stesso segno e sono dello stesso ordine di grandezza La sottrazione è un’operazione sicura solo se i due termini hanno segno opposto Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

38 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Esempio Dato a = e x = y = a – x = Se l’ottava cifra significativa di x era sbagliata, dopo la sottrazione y avrà la seconda cifra significativa sbagliata. Il nemico numero uno del calcolo numerico è la sottrazione di due numeri quasi uguali Si osservi che ciò non è dovuto all’errore intrinseco dell’operazione (ossia al suo errore locale), ma al fatto che in tale operazione viene amplificato un preesistente errore nei dati. Se i dati fossero esenti da errore (devono anche essere memorizzati senza errore di arrotondamento!) somma e sottrazione sarebbero operazioni del tutto sicure. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

39 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Quesito Quali sono le radici di un’equazione di secondo grado: ax2 + bx + c = 0 ? Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

40 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Promemoria Alcune proprietà valide in analisi classica (senza errori di arrotondamento) non risultano più valide quando i calcoli sono eseguiti con il calcolatore Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

41 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Se ci si accorge che in un algoritmo si può presentare l’eventualità di sottrarre due numeri quasi uguali bisogna intervenire! Si supponga di dover sottrarre una funzione g(x) ad un numero e si preveda che g(x) avrà lo stesso segno e lo stesso ordine di grandezza. Due sono gli accorgimenti spesso utili per evitare l’operazione pericolosa. 1. Si sfrutta la proprietà: (a - g(x)) (a + g(x)) = a2 –(g(x))2 Esempio In analisi classica le radici di un’equazione di secondo grado: ax2 + bx + c = 0 sono: Se 4ac è piccolo, ma non nullo, una delle due radici viene calcolata male. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

42 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Se b è maggiore di zero la radice x1 può essere mal condizionata e si devono usare le seguenti formule: Se viceversa b è minore di zero è la radice x2 che può essere mal condizionata e si devono usare le seguenti formule: Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

43 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
2. Il secondo artificio talvolta utile quando si deve sottrarre una funzione g(x) ad un numero e si preveda che g(x) avrà lo stesso segno e lo stesso ordine di grandezza è quello di sfruttare uno sviluppo in serie di Taylor della funzione g(x). Esempio Si supponga di dover calcolare per x molto piccolo. Poiché per x tendente a zero il suo coseno tende a uno, si è in presenza della differenza fra due numeri quasi uguali. Per evitare problemi numerici basta ricordare che: Per cui si ottiene: Se x è molto piccolo l’operazione è già accurata con il solo primo termine. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

44 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Quando le differenze fra i termini quasi uguali provengono da un’espansione in serie di Taylor è spesso possibile trasformare il problema in modo da avere solo termini dello stesso segno. Esempio Si supponga di dover calcolare per x molto grande. Il calcolo risulta impreciso a causa delle differenze fra termini quasi uguali. Per evitare questo inconveniente basta calcolare la serie: e poi invertire il risultato ottenuto. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

45 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Il nemico numero due del calcolo numerico è la somma di moltissimi numeri aventi ordini di grandezza molto diversi Esempio Si deve effettuare la seguente somma: usando una precisione di 7 cifre decimali. Se si prende come primo termine della sommatoria 108 il risultato sarà 108. Questo problema può essere evitato o utilizzando una precisione maggiore o ordinando in ordine crescente i coefficienti. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

46 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
A proposito di numeri Quesito Ricorderete la polemica del vero inizio del terzo millennio. Secondo voi chi aveva ragione: chi sosteneva che il terzo millennio cominciava il 31 Dicembre 1999 a mezzanotte o chi sosteneva che il terzo millennio cominciava il 31 Dicembre 2000 a mezzanotte? Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

47 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Prima di affrontare il problema è necessario sottolineare nuovamente il seguente punto fondamentale. Per poter intavolare un discorso sensato è indispensabile che sia chiaro il problema su cui si sta discutendo e che siano condivise le ipotesi che stanno alla base del problema stesso. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

48 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
In matematica esistono due tipi di numerazione che possono essere usati per descrivere il passare del tempo. I numeri ordinali: I, II, II, IV ecc. e i numeri cardinali: 0, 1, 2, 3, 4, ecc. 1 2 I II 3 4 5 6 7 8 9 10 11 III IV V VI VII VIII IX X XI Mentre i numeri ordinali indicano un periodo di tempo, i numeri cardinali indicano un punto lungo l’asse del tempo. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

49 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Noi indichiamo le ore sia con i numeri cardinali che con i numeri ordinali. La una (cardinale) di notte è quel valore puntuale che separa la prima (ordinale, periodo di tempo) dalla seconda ora (ordinale, periodo di tempo). I giorni sono invece indicati solo con numeri ordinali anche se in italiano parrebbe il contrario. Quando scriviamo 13 Maggio in realtà dovremmo scrivere il tredicesimo giorno (ordinale, periodo di tempo) di Maggio. Gli anglosassoni sono più precisi di noi in quanto scrivono il giorno del mese come un ordinale: the 13th of May. Noi ci accorgiamo di dover usare gli ordinali per i giorni solo quando parliamo del primo giorno del mese: il primo di Aprile, il primo di Maggio ecc. Con gli anni ci comportiamo come con le ore: usiamo sia i numeri ordinali che i numeri cardinali. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

50 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Ritornando al problema che ci interessa e per poter intavolare un discorso sensato è indispensabile chiarire alcune possibili fonti di confusione che possono portare ad equivoci. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

51 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Una prima fonte di confusione è la possibilità che sia stato commesso un errore sulla reale data di nascita di Cristo. Una seconda fonte di confusione deriva dal fatto che Cristo è nato il 25 Dicembre e perciò non è chiaro perché si deve partire dal primo gennaio dell’anno di nascita e non da quello più vicino che è il successivo. Una terza fonte di confusione è legata all’affermazione che chi ha fatto il calendario (Dionigi il Piccolo) non conosceva lo zero e perciò non può esistere l’anno zero, così che l’anno uno avanti Cristo è seguito dall’anno uno dopo Cristo. Una quarta fonte di confusione è legata all’affermazione che chi ha fatto il calendario non solo non conosceva lo zero, ma non capiva neppure la differenza fra numeri ordinali e numeri cardinali. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

52 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Chiaramente le prime due fonti di confusione sono fuorvianti e possono essere tranquillamente trascurate. Per evitarle ed affrontare il problema da un punto di vista matematico conviene prendere in esame la nascita di un anonimo Caio Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

53 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Alle ore 0 del I Gennaio nasce Caio Decimo anno di vita Primo anno di vita Prima decina 1 2 I II 3 4 5 6 7 8 9 10 11 III IV V VI VII VIII IX X XI Compie 1 anno alla fine del I anno di vita Compie 10 anni alla fine del X anno di vita Ossia allo scadere dell’anno 9 o del X anno entra nella seconda decina Perciò allo scadere dell’anno 1999 o del XX secolo entra nella terzo millennio Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

54 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Da un punto di vista matematico è perciò ovvio che il terzo millennio dalla nascita di Caio comincia il 31 Dicembre 1999 a mezzanotte che è la fine del XX secolo ossia del II millennio. Se perciò come alcuni sostengono Dionigi il Piccolo conosceva sia lo zero che la differenza fra numeri ordinali e numeri cardinali la risposta corretta non può che essere questa anche riferendoci a Cristo invece che a Caio. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

55 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
È possibile sostenere che il terzo millennio comincia il 31 Dicembre 2000 a mezzanotte solo se si fa confusione fra numeri ordinali e numeri cardinali indipendentemente dalla conoscenza dello zero o no. È importante capire perché una confusione fra numeri ordinali e numeri cardinali può portare a tale risultato. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

56 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Prima di proseguire ricordiamo un punto fondamentale: Mentre i numeri ordinali indicano un periodo di tempo, i numeri cardinali indicano un punto lungo l’asse del tempo. a b c A B d C Qualunque siano i simboli che utilizziamo per marcare gli intervalli (numero ordinale) o i punti che separano gli intervalli (numero cardinale) il numero di questi ultimi è sempre maggiore di uno rispetto ai precedenti. Per coprire tutto il precedente intervallo abbiamo bisogno di 3 simboli A, B, C ordinali, mentre servono 4 simboli a, b, c, d cardinali. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

57 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Guardiamo ora che cosa succede se utilizziamo in modo corretto i numeri ordinali e non utilizziamo l’anno 0 (cardinale). Dal momento che utilizziamo numeri ordinali l’anno uno avanti Cristo o uno dopo Cristo vanno letti come primo anno avanti Cristo e primo anno dopo Cristo. È perfettamente corretto dire senza bisogno dello zero che il primo anno avanti Cristo è seguito dal primo anno dopo Cristo. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

58 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Possiamo chiederci: supponiamo che un certo Dionigi il Piccolo non conosca i numeri cardinali e quindi non conosca lo zero. Come farebbe usando solo i numeri ordinali a calcolare quando un certo Titius nato il giorno I Gennaio del IV anno prima della nascita di Caius compirà 6 anni? Non c’è il numero zeresimo ordinale! IVaC IIIaC IIaC IaC IdC IIdC IIIdC Nascita di Caius Nascita di Titius 1 anno 2 anni 3 anni 4 anni 5 anni 6 anni La risposta sarà corretta: Titius compie 6 anni alla fine del IIdC (ordinale), quando Caius compie 2 anni. Inoltre Caius compirà 2000 anni alla fine del XX secolo (ordinale) ossia alla fine dell’anno MM (ordinale). Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

59 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Supponiamo ora che un migliaio di anni dopo Dionigi il Piccolo si vogliano introdurre i numeri cardinali oramai entrati in uso insieme ai vecchi ordinali. Come dovrebbero essere introdotti i numeri cardinali in modo coerente e come dovrebbe risultare il precedente calcolo degli anni di Titius e di Caius? Non c’è il numero zeresimo ordinale, ma c’è lo 0 cardinale 1 2 IVaC IIIaC 3 -4 -3 -2 -1 IIaC IaC IdC IIdC IIIdC Nascita di Caius Nascita di Titius 1 anno 2 anni 3 anni 4 anni 5 anni 6 anni Per coprire tutto l’intervallo della figura servono 7 simboli (IVaC, IIIaC, IIaC, IaC, IdC, IIdC, IIIdC) ordinali. Per coprire tutto l’intervallo della figura serviranno quindi 8 simboli (-4, -3, -2, -1, 0, 1, 2, 3) cardinali. I numeri cardinali richiedono un simbolo in più. La risposta sarà ancora corretta: Titius compie 6 anni alla fine del IIdC (ordinale), quando Caius compie 2 anni alla fine dell’anno 1 (cardinale). Inoltre Caius compirà 2000 anni alla fine del XX secolo (ordinale) ossia il 31 Dicembre 1999 (cardinale). Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

60 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Se perciò i numeri cardinali fossero stati introdotti correttamente affinché risultassero coerenti con la precedente numerazione ordinale e con l’uso normale di questi numeri non ci sarebbero dubbi. In questo caso il terzo millennio dalla nascita di Caius comincia il 31 Dicembre 1999 a mezzanotte che è la fine del XX secolo ossia del II millennio. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

61 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Ma… siamo sicuri che le cose siano andate così? Proviamo con un’altra ipotesi su come si sono svolte le cose. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

62 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Supponiamo ora che un migliaio di anni dopo Dionigi il Piccolo si cominci ad apprezzare la scrittura dei numeri arabi invece di quelli romani. Così invece di scrivere MCDXCII (ordinale, periodo di tempo) anno Domine (o dC) si comincia a scrivere 1492-esimo (ordinale, periodo di tempo) anno Domine (o dC). Dopo ancora un po’ di tempo si comincia a scrivere l’anno senza la noiosa aggiunta di –esimo tanto è sottinteso che si stanno considerando numeri ordinali. Ricordo che è proprio così che si fa con i giorni del mese in italiano. Così poco per volta si è passati da una corretta numerazione ordinale che non richiede il numero zeresimo ad una scrittura ibrida che utilizza la simbologia dei numeri cardinali, ma che invece rispecchia una numerazione ordinale. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

63 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Se è questo ciò che è accaduto, quando scriviamo 1999 dovremmo leggere quel numero 1999-esimo anno Domine (o dC) o addirittura MCMXCIX anno Domine (o dC). In questo caso il terzo millennio dalla nascita di Caius comincia il 31-esimo giorno del Dicembre del 2000-esimo anno Domine a mezzanotte o nella scrittura originaria il XXXI giorno del Dicembre del MM anno Domine. Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica

64 Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Guido Buzzi-Ferraris Metodi e Applicazioni numeriche nell’Ingegneria Chimica


Scaricare ppt "Metodi e Applicazioni numeriche nell’Ingegneria Chimica"

Presentazioni simili


Annunci Google