LABORATORIO DI CALCOLO NUMERICO (L. T. Informatica)
Anno Accademico 2018-2019
Docente: Ángeles Martínez Calomardo
Dove e quando si svolgono le lezioni di Laboratorio:
Da Martedì 12 Marzo 2019, le lezioni di laboratorio si terrano in:
LabP140: Laboratorio Informatico II piano Plesso Paolotti, dalle 10.30 alle 12.25.
Calendario delle lezioni di laboratorio:
- 12 Marzo
- 19 Marzo
- 26 Marzo
- 2 Aprile
- 16 Aprile
- 14 Maggio
- 21 Maggio
- 28 Maggio
Informazioni sui laboratori informatici del Dipartimento di Matematica a questo link.
MATERIALE DIDATTICO PER IL LABORATORIO
Per accedere ai Lucidi delle lezioni, programmi ed eventuale altro materiale didattico lo studente è pregato di usare la piattaforma MOODLE del Dipartimento di Matematica a questo link.
DIARIO DELLE LEZIONI
12 marzo 2019 Prima lezione di laboratorio: introduzione a Matlab. Variabili. Comandi who e whos. Funzioni matematiche predefinite. Comando format. Matrici. Vettori. Vettori con elementi equispaziati (comando : e comando linspace). Grafici con il comando plot. Definizione di funzioni matematiche. Primo programma script per creare il grafico di una funzione definita con il comando inline usando il comando plot.
Secondo esempio di file script Matlab per disegnare una funzione previamente definita con il comando inline e l'asse x, facendo uso dei comandi hold on e hold off per sovrapporre più grafici nella stessa finestra grafica. Uso del comando input per l'acquisizione di dati da tastiera.
Proposti esercizi da svolgere prima della prossima lezione di laboratorio. È prevista la consegna degli ultimi due esercizi proposti tramite Moodle.
19 marzo 2019 Seconda lezione di laboratorio: Grafici in scala logaritmica (comandi semilogx, semilogy, loglog). Matlab come linguaggio di programmazione: operatori relazionali e logici, cicli (for e while), istruzione condizionale. Programmi function.
Output a video (comandi disp e fprintf).
Implementazione in Matlab del metodo di bisezione. Scrittura della function che implementa tale metodo iterativo. Esercizi (disponibili via Moodle).
26 marzo 2019 Terza lezione di laboratorio: Implementazione in Matlab del metodo di Newton-Raphson: creazione della function newtonfun.m. Esecuzione della function da uno script che definisce i parametri in ingresso, scrive a video i risultati e crea un grafico con il profilo di convergenza (grafico che rappresenta, in scala logaritmica sull'asse y, gli scarti in valore assoluto).
Scrittura a video dei risultati con formato.
Convergenza del metodo di Newton in caso di radice multipla. Scrittura della function newtonmod,m che implementa il metodo di Newton modificato per il calcolo di radici di multiplicità r. Confronto della velocità di convergenza del metodo di Newton e del metodo di Newton modificato per l'approssimazione di una radice tripla. Stima costante asintotica mediante gli scarti.
Lavoro per la settimana: finire gli esercizi assegnati e iniziati in laboratorio e implementare il metodo della Secante (si veda il foglio di esercizi disponibile sulla piattaforma Moodle).
2 aprile 2019 Quarta lezione di laboratorio: Interpolazione polinomiale. Calcolo e valutazione dell'interpolante polinomiale usando i comandi polyfit e polyval di Matlab. Scrittura di una function Matlab per il calcolo delle differenze divise. Scrittura di una function Matlab per valutare l'interpolante polinomiale in forma di Newton usando l'algoritmo di Horner. Scrittura di uno script per interpolare la funzione di Runge su punti equispaziati usando le due function prodotte. Calcolo dell'errore (vettore contenente la differenza tra il valore della funzione e il valore assunto dal polinomio su ogni punto del vettore di valutazione). Massimo errore commesso calcolato come norma infinito del vettore degli errori.
Scrittura su file.
Proposti esercizi da svolgere nelle due settimane di pausa prima della prossima lezione prevista per il 16/04/2019. Gli esercizi come il resto del materiale didattico sono reperibili tramite la piattaforma Moodle.
16 aprile 2019 Quinta lezione di laboratorio: Aritmetica di macchina. Distanza tra numeri macchina, non unicità dell'elemento neutro dell'addizione tra numeri macchina. Cancellazione numerica. Esempi di algoritmi instabili per problemi di cancellazione numerica: formula risolutiva del'equazione di secondo grado, sequenza approssimante pi greco. Esempio di formula ricorrente instabile per il calcolo di una famiglia di integrali definiti. Formula alternativa stabile.
Seconda parte della lezione: esempio di tema d'esame, lavoro individuale sull'implementazione del metodo di Halley per la risoluzione di una equazione non lineare.
Reperibili su Moodle gli esercizi da svolgere nel mese di pausa. La prossima lezione di laboratorio è prevista per il 14/05/2019.
14 maggio 2019 Sesta lezione di laboratorio: Matrici in Matlab, creazione, operazioni, comandi predefiniti che operano con matrici (size, det, inv, eig). Estrazione di sottomatrici. Comandi diag, tril, triu. Comando norm. Condizionamento. Esempi di matrici malcondizionate (Hilbert, Vandermonde). Soluzione di un sistema con matrice malcondizionata, confronto dell'errore e del residuo. Calcolo della fattorizzazione LU di una matrice quadrata con il metodo di eliminazione di Gauss (MEG). Implementazione in Matlab. Stabilità del MEG. Importanza del pivoting.
21 maggio 2019 Settima lezione di laboratorio: Metodi iterativi stazionari per la risoluzione di sistemi lineari. Matrici sparse. Esempi. Fill-in. Metodi iterativi stazionari. Condizioni di convergenza. Implementazione in Matlab dei metodi di Jacobi e Gauss-Seidel e il metodo SOR.
28 maggio 2019 Ottava lezione di laboratorio: Quadratura numerica. Implementazione in Matlab delle formule composte dei trapezi e di Cavalieri-Simpson. Analisi dell'errore delle formule composte. Studio della diminuzione dell'errore all'aumentare il numero di suddivisioni dell'intervallo d'integrazione. Scrittura su file dei risultati in forma di tabella, usando fprintf. Uso del comando quad.
MATLAB/OCTAVE
Nel corso si usa Matlab.
Dall'anno accademico 2016-17 è disponibile la licenza MATLAB Campus, che prevede il download gratuito del programma MATLAB consentendo ad ogni studente di installare Matlab sul propio computer personale.
Link al sito del CSIA per maggiori informazioni.