Analisi Numerica e Programmazione (A.A.2010/11) Il corso si articola in: 1. Lezioni sugli argomenti trattati (v. Programma del Corso ); 2. Esercitazioni e verifica numerica (in ambiente Matlab) dei risultati illustrati durante le lezioni. Lezioni ed esercitazioni sono strettamente correlate e fondamentali. L’esame consiste in una prova orale nella quale vengono verificate le capacità acquisite. Prima dell’esame deve essere presentata una relazione scritta sulla risoluzione numerica di almeno due problemi uno dei quali viene proposto dal docente e l’altro (gli altri) a scelta libera dello studente (v. Modalità di verifica dell’apprendimento) Programma del corso Richiami di algebra lineare e nozioni introduttive - Norme di vettori e matrici, prodotto scalare, autovalori e autovettori, matrici definite positive, a dominanza diagonale, triangolari, tridiagonali. Algoritmi: istruzioni fondamentali ed esempi. Confronto fra algoritmi: costo computazionale, efficienza. Aritmetica in virgola mobile: memorizzazione dei numeri in un elaboratore elettronico, errori di arrotondamento, precisione di macchina. Operazioni aritmetiche in precisione finita. Operazioni fra matrici. Propagazione degli errori, stabilità di un algoritmo e condizionamento di un problema. Ambiente Matlab - Regole generali di utilizzo: comandi di avvio, le variabili, operazioni elementari. Regole sintattiche e funzioni matematiche di base. Rappresentazione e salvataggio dei dati. Creazione e gestione di vettori e matrici. Programmare con Matlab: operatori relazionali, operatori logici e funzioni. Istruzioni condizionali. Cicli. Funzioni definite dall'utente. Funzioni grafiche principali. Sistemi lineari - Generalità sui sistemi lineari e condizionamento. 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. Metodi iterativi: costruzione di metodi iterativi lineari, convergenza criteri di arresto. Metodi di Jacobi, Gauss-Seidel e rilassamento. Convergenza e criteri di arresto. Algoritmi ed esempi Equazioni e sistemi non lineari - Metodo della bisezione, metodo di Newton e sue varianti per la ricerca di zeri di funzioni. Estensione alla risoluzione di sistemi non lineari. Convergenza e criteri di arresto. Approssimazione di funzioni e dati - Interpolazione polinomiale: polinomio interpolante di Lagrange, interpolazione polinomiale a tratti, spline cubica. Approssimazione di dati nel senso dei minimi quadrati lineari. Integrazione e derivazione numerica - Calcolo approssimato di integrali: la regola dei trapezi e di Simpson. Integrazione di dati discreti. Approssimazione delle derivate di una funzione: metodi alle differenze finite classiche. Problemi differenziali - Equazioni differenziali ordinarie: problemi ai valori iniziali e problemi ai limiti, soluzione analitica e soluzione numerica. Metodi a passo singolo per problemi ai valori iniziali: metodo di Eulero e metodi di Runge-Kutta; errore di troncamento locale; metodi a passo e ordine variabile. Metodi alle differenze finite e metodi upwind per problemi ai limiti lineari. I risolutori Matlab di equazioni differenziali ordinarie. Equazioni alle derivate parziali: introduzione e classificazione delle equazioni lineari del secondo ordine . Cenni sui metodi alle differenze finite: rappresentazione matriciale e stabilità numerica. Modalità di verifica dell'apprendimento Prova orale sugli argomenti del programma e discussione dei risultati ottenuti negli elaborati Matlab. Il primo giorno dell’appello viene fissato il calendario delle prove orali e gli studenti che intendono sostenere l’esame dovranno presentare una relazione scritta sugli elaborati realizzati in ambiente Matlab. Nella relazione saranno illustrati, motivandoli, i risultati ottenuti. La valutazione della relazione concorrerà alla determinazione del voto finale. 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 T.A. Driscoll : Learning Matlab, Published by the Society for Industrial and Applied Mathematics (SIAM), 2009 A.Quarteroni, R. Sacco, F. Saleri : Matematica Numerica. Springer-Verlag Italia,1998