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. Metodi numerici per problemi retti da equazioni differenziali.
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.
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
Obiettivi Formativi
Fornire una conoscenza operativa dei procedimenti più comuni per risolvere, su un personal computer, alcune classi di problemi matematici di fondamentale importanza in ambito ingegneristico. Sono considerati metodi per la soluzione di sistemi lineari algebrici, per la ricerca e l’approssimazione di radici di equazioni e sistemi di equazioni non lineari, per l’approssimazione di dati, funzioni, derivate e integrali, per la risoluzione numerica di problemi differenziali.
Per fornire le basi necessarie ad una scelta consapevole del metodo numerico più adatto a risolvere un problema, è necessario verificare, su un computer, i vantaggi e i punti deboli degli algoritmi proposti. 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
Lezioni ed esercitazioni secondo l'orario ufficiale. Supporto didattico nell'ambito del ricevimento degli studenti.
Lezioni ed esercitazioni, sia teoriche che pratiche (su personal computer), sono strettamente correlate e ugualmente fondamentali per la conoscenza dei metodi, la stesura degli algoritmi e la realizzazione di programmi Matlab.
Altre Informazioni
Il corso Metodi Numerici per l'Ingegneria(12 cfu) è solo formalmente diviso nei moduli A (9 cfu) e B (3 cfu).
Lezioni ed esercitazioni sono previste sia nel primo che nel secondo semestre.
Gli esami si svolgono dopo la fine del corso, negli appelli ufficialmente fissati, secondo le modalità specificate per la verifica dell'apprendimento.
Ulteriori informazionisono disponibili nella pagina web del docente:
http://www2.de.unifi.it/anum/macconi/
Modalità di verifica apprendimento
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
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.
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.
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.
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: soluzione analitica e soluzione numerica. Problemi di Cauchy: metodi a passo singolo di Runge-Kutta espliciti, metodi a passo multiplo espliciti e impliciti di Adams , metodi predictor-corrector; 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. Equazioni alle derivate parziali: introduzione e classificazione delle equazioni lineari del secondo ordine . Cenni sui metodi alle differenze finite