Analisi Numerica e Programmazione (9cfu A.A.2012/13) Scopo del

Analisi Numerica e Programmazione (9cfu A.A.2012/13)
Scopo del corso: fornire una conoscenza operativa dei procedimenti più comuni per
risolvere in ambiente Matlab problemi di interesse applicativo.
Per ogni argomento trattato, fornire una bibliografia aggiornata e informazioni relative
al software esistente. Fornire le conoscenze necessarie alla realizzazione di programmi
usando l’ambiente di calcolo Matlab.
Il corso si articola in lezioni ed esercitazioni sugli argomenti trattati (v. Programma del
Corso ).
Lezioni ed esercitazioni sono strettamente correlate e ugualmente fondamentali per la
conoscenza dei metodi, la stesura degli algoritmi e la realizzazione di programmi
Matlab.
L’esame Per l'esame finale ogni studente deve presentare un elaborato scritto e
sostenere una prova orale.
L’elaborato è una relazione sintetica sulla risoluzione in ambiente Matlab di due
problemi, uno proposto dal docente e l’altro a scelta libera dello studente. Nella
relazione deve essere specificato, per ciascun problema, il procedimento numerico
seguito e illustrati, motivandoli, i risultati ottenuti. Sono inoltre forniti,
documentandone le modalità d’uso e l’affidabilità, i programmi Matlab realizzati.
La prova orale verte sugli argomenti trattati nel corso e sulla discussione della prova
scritta.
La valutazione dell’elaborato concorre alla determinazione del voto finale.
Gli esami si svolgono negli appelli ufficialmente fissati. Il primo giorno dell’appello gli
esaminandi consegnano il loro elaborato e viene fissato il calendario delle prove orali.
Programma del corso ( A.A. 2012/13 )
Richiami di calcolo matriciale Operazioni su matrici, inversa di una matrice, autovalori
e autovettori, prodotto scalare tra vettori, norme vettoriali e norme matriciali, matrici
definite positive, a dominanza diagonale, triangolari, a banda.
Concetti fondamentali Buona posizione e condizionamento di un problema, stabilità e
convergenza di un metodo numerico, sorgenti di errore nei modelli computazionali.
Algoritmi: definizione, istruzioni fondamentali, costo computazionale, accuratezza,
affidabilità, efficienza. Aritmetica in precisione finita: rappresentazione floating-point
dei numeri, precisione di macchina, operazioni aritmetiche in precisione finita, errori di
arrotondamento.
Ambiente di calcolo Matlab - Regole generali di utilizzo: comandi di avvio, le variabili,
operazioni elementari. Rappresentazione e salvataggio dei dati. Regole sintattiche,
operazioni e funzioni matematiche di base, creazione e gestione di vettori e matrici.
Programmare con Matlab: la frase di assegnazione, operatori relazionali, operatori logici
e funzioni, istruzioni di scelta e di ripetizione (cicli). Funzioni definite dall'utente:
scripts e functions. Funzioni grafiche.
Sistemi lineari algebrici – Numero di condizionamento di una matrice. Metodi diretti:
matrici di permutazione e soluzione di sistemi triangolari. Fattorizzazione LU e utilità
della tecnica pivoting. Fattorizzazione di Cholesky. Risoluzione di sistemi con matrici
sparse: il caso di sistemi a banda. L’operatore Matlab backslash. Analisi degli errori.
Aumento dell’accuratezza: raffinamento iterativo. Metodi iterativi: costruzione di
metodi iterativi lineari,i metodi di Jacobi e di Gauss-Seidel, convergenza e criteri di
arresto, algoritmi e applicazioni. Funzioni disponibili in Matlab: definizione, utilizzo e
applicazioni.
Equazioni e sistemi di equazioni non lineari – Caso scalare: individuazione grafica delle
radici. Metodi di approssimazione numerica: bisezione, tangenti. Interpretazione
geometrica, convergenza, criteri di arresto, algoritmi e applicazioni. Caso vettoriale: il
metodo di Newton e Newton stazionario, convergenza e criteri di arresto. Funzioni
disponibili in Matlab: definizione, utilizzo e applicazioni.
Approssimazione di funzioni e dati - Interpolazione polinomiale: posizione del
problema , condizionamento e stabilità. Polinomio interpolante nella forma di Lagrange,
interpolazione composita, funzioni spline monodimensionali, spline cubiche
interpolatorie. Data fitting: posizione del problema e tecnica dei minimi quadrati.
Funzioni disponibili in Matlab: definizione, utilizzo e applicazioni.
Integrazione e derivazione numerica - Calcolo approssimato di integrali. La regola dei
trapezi e quella di Cavalieri-Simpson, formule basate su interpolazione polinomiale a
tratti. Integrazione di dati discreti. Approssimazione delle derivate di una funzione:
metodi alle differenze finite classiche, applicazioni. Funzioni disponibili in Matlab:
definizione, utilizzo e applicazioni.
Problemi differenziali – Equazioni e sistemi di equazioni differenziali ordinarie.
Problemi ai valori iniziali e problemi ai limiti: soluzione analitica e soluzione numerica.
Metodi alle differenze per problemi ai limiti con condizioni in due punti. Problemi
lineari: metodo alle differenze centrali, metodo upwind. Problemi non lineari: metodo
alle differenze centrali. Convergenza e aspetti computazionali.
Testi consigliati
W. Palm III : Matlab7 per l'Ingegneria e le scienze. Mc-Graw Hill, 2005.
C.B. Moler : Numerical computing with Matlab, Published by the Society for Industrial
and Applied Mathematics (SIAM), 2004 Edizione web :
http://www.mathworks.com/moler
A.Quarteroni, R. Sacco, F. Saleri : Matematica Numerica. Springer-Verlag Italia,1998