|
Docente/i:
Tullio Facchinetti
Luisa Donatella Marini
Denominazione del corso: Calcolo numerico e programmazione()
Codice del corso: 502525
Corso di laurea: Ingegneria Civile e Ambientale
Sede: Pavia
Settore scientifico disciplinare: ING-INF/05
L'insegnamento costituisce attività di base per: Ingegneria Civile e Ambientale
Crediti formativi: CFU 12
Sito web del corso: n.d.
Obiettivi formativi specifici
Fornire agli studenti gli strumenti di base della Analisi Numerica e della Programmazione. In particolare, illustrare gli algoritmi numerici più comunemente usati per trattare problemi concreti e portare gli studenti ad un sufficiente grado di dimestichezza nell'uso del software matlab.
Programma del corso
Il corso si compone di due moduli: CALCOLO NUMERICO e PROGRAMMAZIONE che saranno svolti rispettivamente nel primo e secondo semestre. I due moduli, ancorché distinti, sono sinergici l'uno all'altro e prevedono lezioni di teoria e pratica per ogni singolo argomento.
Modulo di CALCOLO NUMERICO
Di seguito sono elencati tutti gli argomenti che saranno trattati durante l'anno:
- Equazioni non lineari: metodi di bisezione e di Newton. Convergenza e ordini di convergenza. Criteri di arresto.
- Approssimazione di funzioni e dati: Il metodo dei minimi quadrati per il data fitting: retta di regressione e vari altri esempi
- Derivazione e integrazione numerica:
Approssimazione della derivata di una funzione.
Formule di quadratura: Punto medio, trapezi, Simpson semplici e composite. Cenni sulle formule gaussiane.
- Risoluzione di sistemi lineari con metodi diretti: Condizionamento di una matrice e problemi agli autovalori.
Il metodo di eliminazione di Gauss e la fattorizzazione LU;
Aspetti implementativi della fattorizzazione LU e analisi dei costi;
Matrici simmetriche e definite positive: fattorizzazione di Cholesky.
- Risoluzione di sistemi lineari con metodi iterativi: I metodi di Jacobi, di Gauss-Seidel e di rilassamento;
Risultati di convergenza e aspetti implementativi;
Criteri di arresto.
- Risoluzione numerica di equazioni differenziali ordinarie: Metodi a un passo: Eulero esplicito e implicito, Crank-Nicolson e Heun;
Stabilità e A-stabilità, consistenza, convergenza e ordini di convergenza; Aspetti computazionali.
Modulo di PROGRAMMAZIONE
- Rappresentazione dell’informazione nel computer: notazione binaria ed esadecimale.
- Tipi di dati semplici e composti: numeri interi e reali, stringhe, array, matrici, file.
- Algoritmo: concetti, proprietà, percorso di costruzione e debug.
- Programmazione strutturataStrutture di controllo fondamentali: cicli e costrutti condizionali; programmazione procedurale.
- Linguaggio di programmazione MatLab: ambiente di programmazione, tipi di dati, strutture di controllo, uso dei toolbox, gestione di file, visualizzazione scientifica tramite grafici.
Prerequisiti
Calcolo differenziale e integrale per funzioni reali, numeri complessi, calcolo vettoriale e matriciale. Conoscenza e dimestichezza nell'uso del computer.
Tipologia delle attività formative
Lezioni (ore/anno in aula): 70
Esercitazioni (ore/anno in aula): 34
Attività pratiche (ore/anno in aula): 0
Materiale didattico consigliato
A. Quarteroni, F. Saleri. Introduzione al Calcolo Scientifico-II edizione. Springer-Verlag Italia.
Alberto Cavallo, Roberto Setola, Francesca Vasca. La nuova guida a Matlab : Simulink e Control Toolbox . Liguori, 2002.
Modalità di verifica dell'apprendimento
Prova scritta relativa al primo modulo alla fine del primo semestre, e prova relativa al secondo modulo alla fine del secondo semestre. L'ammissione alla seconda prova e' subordinata al superamento della prima. Sono inoltre previste altre prove scritte relative all'intero programma. Prova orale (facoltativa) condizionata dalla sufficienza nelle prove scritte. Per i dettagli sulle modalità di superamento delle prove e per le modalità di svolgimento della prova orale consultare il sito http://www.imati.cnr.it/marini
Valutazione della conoscenza dell'ambiente e del linguaggio MatLab e della programmazione strutturata.
|