Fondamenti dell'analisi numerica. Risoluzione di sistemi lineari. Approssimazione di dati e funzioni. Integrazione numerica. Risoluzione numerica di equazioni non lineari. Equazioni differenziali ordinarie: metodi a passo singolo per problemi ai valori iniziali, metodi alle differenze finite per problemi ai limiti.
Contenuto del corso - Parte B
Apprendimento del linguaggio Matlab. Utilizzo dell’ambiente Matlab per la risoluzione numerica dei problemi matematici considerati nella Parte A del corso.
M.G. Gasparo, R. Morandi, Elementi di Calcolo Numerico, McGraw Hill, 2008.
A.Quarteroni, R. Sacco, F. Saleri : Matematica Numerica. Springer-Verlag Italia,1998
A. Mazzia,
Laboratorio di calcolo numerico. Applicazioni con Matlab e Octave.
Ed. Pearson
W. Palm III : Matlab7 per l'Ingegneria e le scienze. Mc-Graw Hill, 2005.
C.F. Van Loan Introduction to Scientific Computing, Prentice Hall
Obiettivi Formativi - Parte A
Il corso si occupa della definizione e dello studio di metodi per la risoluzione di problemi matematici mediante l’uso dell’elaboratore elettronico. Scopo del corso è quello di illustrare le metodologie di base dell’analisi numerica per la risoluzione di problemi matematici che nascono nelle applicazioni, ponendo una particolare attenzione agli aspetti legati alla realizzazione e all’utilizzo di tali metodologie su calcolatore.
Conoscenze acquisite:
Lo studente acquisisce la conoscenza dei metodi numerici classici per risolvere i problemi matematici considerati.
Competenze acquisite:
Lo studente acquisisce le competenze per comprendere le problematiche legate alla risoluzione numerica di problemi matematici.
Capacita’ acquisite (al termine del corso):
Gli studenti saranno in grado di scegliere e usare il metodo numerico e l'algoritmo piu' adatti a risolvere un dato problema, e interpretare i risultati numerici.
Obiettivi Formativi - Parte B
La parte B del corso si occupa dell'utilizzo dell'ambiente Matlab e della implementazione in linguaggio Matlab dei metodi numerici studiati nella parte A del corso.
Conoscenze acquisite:
Lo studente acquisisce la conoscenza dell'ambiente e del linguaggio di programmazione Matlab.
Competenze acquisite:
Lo studente acquisisce le competenze per implementare e utilizzare i principali metodi numerici oggetto della parte A del corso.
Capacita’ acquisite (al termine del corso):
Gli studenti saranno in grado di sviluppare semplici programmi e di utilizzare l’ambiente Matlab per risolvere i problemi matematici considerati e di saper interpretare i risultati numerici ottenuti.
Prerequisiti - Parte A
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 e integrale per funzioni di una e più variabili e del calcolo integrale, sviluppo troncato di Taylor.
Prerequisiti - Parte B
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 e integrale per funzioni di una e più variabili e del calcolo integrale, sviluppo troncato di Taylor.
Metodi Didattici - Parte A
Lezioni frontali: esposizione della teoria in programma, con interazione diretta docente-studente per facilitare e assicurare la piena comprensione della materia.
Piattaforma Moodle: sviluppo dell’interazione online docente-studente, diffusione di dispense integrative e di esempi di testi di prove d’esame.
Metodi Didattici - Parte B
Esercitazioni in aula informatica: sessioni pratiche per imparare a risolvere numericamente i problemi matematici in ambiente Matlab.
Le sessioni sono svolte in modo da:
-- aiutare gli studenti a sviluppare le capacità di applicare le conoscenze acquisite;
-- migliorare la loro autonomia di giudizio, in particolare nella interpretazione dei risultati forniti dl calcolatore.
Piattaforma Moodle: sviluppo dell’interazione online docente-studente, diffusione di dispense integrative, di raccolte di esercizi e di esempi di testi di prove d’esame.
Altre Informazioni - Parte A
Il modulo A e' mutuato da:
- Analisi Numerica e Programmazione (LM Ingegneria Civile)
- Analisi Numerica (LM Ingegneria Edile)
- Elements of Numerical Calculus (LM Informatica)
Frequenza delle lezioni: Raccomandata
Strumenti a supporto della didattica: libri di testo, dispense, UniFi E-Learning: http://e-l.unifi.it
Altre Informazioni - Parte B
Frequenza delle lezioni: Raccomandata
Strumenti a supporto della didattica: libri di testo, dispense, UniFi E-Learning: http://e-l.unifi.it
Modalità di verifica apprendimento - Parte A
Sono previste:
a) una prova scritta (per la Parte A)
b) una prova pratica in Matlab (per la Parte B)
c) un colloquio facoltativo.
a) Prova scritta di teoria, con quesiti a risposta aperta. La prova è strutturata in modo tale da verificare la conoscenza e il grado di comprensione della teoria svolta nel corso.
b) Vedi parte B.
Il risultato ottenuto nella prova a), ovvero la media pesata delle votazioni ottenute nelle due prove per i corsi che prevedono anche la parte B, costituisce la votazione finale qualora lo studente non richieda di sostenere la prova orale. Voto minimo: 18/30.
c) Colloquio. Puo' essere richiesto dallo studente previo superamento delle prove precedenti con votazione di almeno 18/30. Vengono poste alcune domande (solitamente tre) sul programma svolto. L'orale sara' prevalentemente rivolto ad accertare un'adeguata conoscenza del programma, e potra' includere la discussione della prova scritta e della prova Matlab (se prevista).
Il voto finale viene determinato tenendo conto del risultati di tutte le prove sostenute.
Modalità di verifica apprendimento - Parte B
E' prevista
una prova pratica, in aula informatica.
La prova e' volta a verificare la conoscenza del linguaggio di programmazione Matlab e la capacita' di utilizzare in modo critico i metodi numerici studiati. La prova prevede solitamente due esercizi articolati in vari quesiti.
Si veda la descrizione in Parte A per quanto riguarda le modalità di attribuzione del voto.
Programma del corso - Parte A
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.
Sistemi lineari - Numero di condizionamento di una matrice. Matrici di permutazione e soluzione di sistemi triangolari; fattorizzazione LU e utilità della tecnica pivoting; fattorizzazione di Cholesky; analisi degli errori.
Approssimazione di dati e funzioni - Interpolazione polinomiale: posizione del problema. Polinomio interpolante nella forma di Lagrange. Convergenza e condizionamento. Interpolazione polinomiale a tratti: funzioni spline monodimensionali, spline cubiche interpolatorie. Data fitting: posizione del problema e tecnica dei minimi quadrati.
Integrazione e derivazione numerica - Calcolo approssimato di integrali: la regola dei trapezi e quella di Cavalieri-Simpson; formule basate su interpolazione polinomiale a tratti; estrapolazione di Richardson. Approssimazione delle derivate di una funzione: metodi alle differenze finite classiche, applicazioni.
Equazioni non lineari - Individuazione grafica delle radici. Metodi di approssimazione numerica: bisezione, tangenti; interpretazione geometrica, convergenza, criteri di arresto, algoritmi e applicazioni.
Problemi differenziali - Richiami su equazioni e sistemi di equazioni differenziali ordinarie; problemi ai valori iniziali e problemi ai limiti: soluzione analitica e soluzione numerica. Problemi di Cauchy: metodi a passo singolo di Runge-Kutta espliciti; errore di troncamento locale. Problemi ai limiti: metodi alle differenze finite;
schemi alle differenze centrali e metodi upwind; convergenza e aspetti computazionali.
Programma del corso - Parte B
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 e funzioni disponibili in Matlab relative agli argomenti trattati nel corso: definizione, utilizzo e applicazioni.