Fondamenti dell'analisi numerica e ambiente di lavoro Matlab.Risoluzione di sistemi lineari con metodi diretti e iterativi. Calcolo di autovalori e autovettori. Approssimazione delle soluzioni di equazioni e sistemi di equazioni non lineari. Interpolazione e integrazione numerica. Equazioni differenziali ordinarie: metodi a passo singolo per problemi ai valori iniziali, metodi alle differenze finite per problemi ai limiti.
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
W. Palm III : Matlab7 per l'Ingegneria e le scienze. Mc-Graw Hill, 2005.
Obiettivi Formativi
Fornire una conoscenza operativa di alcuni tra i metodi numerici più comunemente usati per risolvere 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.
Saper applicare metodi numerici per la risoluzione di problemi che nascono in settori applicativi diversi. Saper usare strutture logiche, relazionali, condizionali, cicli e funzioni previsti in Matlab per scrivere programmi di calcolo, ottenere rappresentazioni grafiche e utilizzare software applicativo
Prerequisiti
Elementi di algebra lineare: vettori, matrici, determinanti, soluzione di sistemi lineari algebrici. Elementi di analisi matematica: successioni e loro convergenza, limiti e continuità delle funzioni reali, concetti fondamentali del calcolo differenziale per funzioni di una e più variabili, sviluppo accorciato di Taylor.
Metodi Didattici
Lezioni ed esercitazioni secondo l'orario ufficiale. Supporto didattico nell'ambito del ricevimento degli studenti.
Altre Informazioni
Pagina web del docente:
http://www2.de.unifi.it/anum/macconi/
Per superare l'esame ogni studente deve presentare un elaborato scritto e sostenere una prova orale.
L’elaborato consiste in 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
1.Fondamenti dell'analisi numerica - Modelli matematici, 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.
2.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.
3.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.
4.Autovalori e autovettori - Localizzazione geometrica degli auto valori, stabilità e condizionamento. Approssimazione dell’autovalore di modulo massimo e minimo e degli autovettori associati: metodo delle potenze, convergenza, aspetti computazionali. Il metodo di Jacobi per matrici simmetriche, convergenza e aspetti computazionali. Funzioni disponibili in Matlab: definizione, utilizzo e applicazioni.
5.Equazioni e sistemi di equazioni non lineari – Caso scalare: individuazione grafica delle radici. Metodi di approssimazione numerica: bisezione, corde, 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
6.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.
7.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.
8.Equazioni e sistemi di equazioni differenziali ordinarie - Soluzione analitica e soluzione numerica. Problemi di Cauchy: metodi a passo singolo di Runge-Kutta espliciti, errore di troncamento locale; metodi a passo e ordine variabile. Funzioni disponibili in Matlab: definizione, utilizzo e applicazioni. Problemi ai limiti: Metodi alle differenze finite e metodi upwind.