Orario del corso Analisi Numerica 1 a.a. 2014/2015 Dott.ssa Silvia Bonettini Mercoledì 10:30-13:30 Aula2/Laboratorio Giovedì 10:30-13:30 Aula2/Laboratorio Ricevimento: mercoledì 9:30-10:30 E-mail docente: [email protected] Pagina web del corso: http://dm.unife.it/~bonettini/annum14.htm Modalità d’esame Compito scritto + Prova orale 2 prove “in itinere” Contenuti del corso Elementi di Analisi Numerica Matlab 1 Di cosa si occupa l’Analisi Numerica? “trovare gli algoritmi che risolvono un problema matematico nel minor tempo e con la massima accuratezza” “dare una risposta numerica ad un problema matematico mediante un calcolatore” Applicazioni Apprendimento automatico: riconoscimento di cifre scritte a mano, riconoscimento di sequenze di proteine Problemi di ingegneria strutturale: simulazione di velocità e pressione di un fluido in una tubatura Simulazione della temperatura attorno ad una sezione d’ala durante il rientro di veicoli aerospaziali (V. Comincioli, Analisi Numerica, Metodi, Modelli, Applicazioni) Applicazione: ricostruzione di immagini Osservazione L’utilizzo di uno strumento come il calcolatore impone dei limiti di TEMPO Algoritmi numerici SPAZIO Large Binocular Telescope (Mount Graham, Arizona, USA) 2 Limiti di tempo Si studiano algoritmi efficienti che possono essere eseguiti in un tempo “ragionevole” Studio della complessità computazionale =numero di operazioni necessarie all’esecuzione dell’algoritmo Risultato: Non tutti i numeri possono essere rappresentati al calcolatore Il risultato delle operazioni è diverso da quello usuale Ad esempio, per il calcolatore vale la seguente uguaglianza: 1 1 1 !!! 253 Limiti di spazio Si dispone di uno spazio di memoria finita per i dati. Il calcolatore opera in una aritmetica diversa da quella che conosciamo. Studio della stabilità=come si comporta un algoritmo rispetto all’aritmetica finita. Perchè l’errore? Il calcolatore è in grado di rappresentare solo un numero finito di cifre. Si rappresenta solo un sottoinsieme finito dell’insieme dei numeri reali e un intervallo limitato di interi. 3 Per prima cosa si deve considerare: La rappresentazione dei numeri interi e reali sul calcolatore; Come vengono eseguite le operazioni; Quali sono gli effetti dell’ aritmetica finita sugli algoritmi Per comprendere l’aritmetica del calcolatore occorre conoscerne i principi fondamentali di funzionamento (ripassare nozioni di base di informatica e programmazione). Distinzione tra Valore La rappresentazione dei numeri Quantità Rappresentazione Simboli 4 Richiami sulla rappresentazione dei numeri naturali Rappresentazione posizionale dei esponente (posizione) numeri Il numero “287” si può rappresentare in: Base 2 (simboli 0,1) Base 4 (simboli 0,1,2,3) base simboli In base 10 abbiamo i simboli: 0,1,2,3,4,5,6,7,8,9 La scelta della base influisce su: Numero dei simboli Lunghezza delle stringhe Complessità dell’artimetica (le tabelline!) In generale, se la base è piccola si n avranno: Base 16(simboli 0,1,2,…,9,A,B,…,F) Le tabelline della somma Base 2 Base 8 Pochi simboli Stringhe lunghe Aritmetica semplice 5 Somma in base 2 Somma in base 2 La somma di due cifre con riporto fornisce il risultato e il successivo riporto. Il numero delle possibili combinazioni degli impulsi in entrata è basso. Prodotto in base 2 Tabellina Esempio Somme e traslazioni In conclusione: La scelta della base 2 comporta la manipolazione di lunghe stringhe di numeri ma la complessità dell'aritmetica è bassa. Le operazioni possono essere realizzate con semplici circuiti elettrici. 6 Finora si è parlato di numeri naturali Vediamo come si rappresentano i numeri reali in una base diversa da 10. Rappresentazione dei reali < 1 Un numero reale minore di 1 può essere rappresentato come somma pesata di potenze negative della base. Esempio: La somma può essere anche infinita Esempio Rappresentazione di un numero reale qualunque È sufficiente ricordare che ogni reale è la somma della sua parte intera e della sua parte frazionaria Parte intera Parte frazionaria (0.75)10 (0.11) 2 7 Teorema della rappresentazione dei numeri reali Fissata una base , ogni numero reale può rappresentare come Esempio si dove s è il segno di sono interi (rappresentazione normalizzata) Si può avere per tutti gli i > di un certo k (caso della rappresentazione finita) Si ha quindi Algoritmi per la conversione di base Dove è la mantissa (NB: la serie è convergente perché ) è la parte esponente p è l’esponente Per numeri interi Per reali inferiori ad 1 8 Algoritmo delle divisioni successive Altri esempi Conversione di un intero positivo da base 10 a base Esempio L’algoritmo si arresta quando si trova un quoziente nullo Algoritmo delle divisioni successive in pseudo codice Algoritmo delle moltiplicazioni successive Conversione di un reale base 10 a base Esempio da È la parte frazionaria del quoziente precedente: 9 Altri esempi Si osserva che Anche se è possibile rappresentare un reale <1 con un numero finito di cifre in una certa base, non è detto che, cambiando base, si possa ottenere ancora una rappresentazione finita. L’algoritmo si arresta o quando si trova un quoziente nullo, oppure occorre fissare un numero massimo di cifre. Algoritmo delle moltiplicazioni successive in pseudo codice Conversione di un reale da base 10 a base >1 Determinare il segno Considerare il valore assoluto Convertire la parte intera con le divisioni successive Convertire la parte frazionaria con le moltiplicazioni successive 10 Esempio Conversione di un reale da base >1 a base 10 Si sfrutta la notazione posizionale 11