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.
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
W. Palm III : Matlab7 per l'Ingegneria e le scienze. Mc-Graw Hill, 2005.
Obiettivi Formativi
Fornire una conoscenza operativa dei procedimenti più comunemente usati per risolvere classi di problemi di largo interesse applicativo. A questo scopo, il corso fornisce gli elementi essenziali del supporto software Matlab mostrandone l’applicazione sia come ambiente di lavoro particolarmente adatto alle applicazioni numeriche, che come evoluto linguaggio di programmazione.
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
Il corso si articola in lezioni ed esercitazioni . Lezioni ed esercitazioni sono strettamente correlate e ugualmente fondamentali per la conoscenza dei metodi, la stesura degli algoritmi e la realizzazione di programmi Matlab.
Altre Informazioni
Pagina web del docente:
http://www2.de.unifi.it/anum/macconi/
Modalità di verifica apprendimento
Per sostenere 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. Devono inoltre essere 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
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. Metodi iterativi: costruzione di metodi iterativi lineari, i metodi di Jacobi e di Gauss-Seidel, convergenza e criteri di arresto, algoritmi. Funzioni disponibili in Matlab: definizione, utilizzo e applicazioni.
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. 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.