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.
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
Obiettivi Formativi
Scopo del corso è 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.
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
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
N.B.Il corso Metodi Numerici per l'Ingegneria(12 cfu) e' 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
Le capacità acquisite sono verificate mediante un elaborato scritto e una prova orale.
L’elaborato consiste in una relazione scritta sulla risoluzione in ambiente Matlab di due problemi, uno proposto dal docente e l’altro a scelta libera dello studente. Per ciascun problema deve essere specificato 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 usati.
La prova orale verte sugli argomenti trattati nel corso e sulla discussione della prova scritta.
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