Calcolo Numerico - Dipartimento di Matematica e Informatica

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