Richiamo della struttura del linguaggio C. Cenni di Python per visualizzazione.
Creazione ed implementazione di algoritmi per la soluzione con metodi numerici di problemi di algebra lineare, interpolazione, derivazione, equazioni differenziali ordinarie e alle derivate parziali. Le applicazioni varieranno tra problemi di diffusione del calore, dinamica molecolare, oscillatori non lineari, propagazione di onde.
Contenuto del corso - Cognomi M-Z
Richiamo della struttura del linguaggio C. Cenni di Python per visualizzazione.
Creazione ed implementazione di algoritmi per la soluzione con metodi numerici di problemi di algebra lineare, interpolazione, derivazione, equazioni differenziali ordinarie e alle derivate parziali. Le applicazioni varieranno tra problemi di diffusione del calore, dinamica molecolare, oscillatori non lineari, propagazione di onde.
Dispense delle prove di laboratorio sono disponibili alla pagina web del corso sulla piattaforma e-l.unifi.it
A supporto testi di riferimento consigliati:
1 Luciano M. Barone - Enzo Marinari - Giovanni Organtini - Federico Ricci-Tersenghi Programmazione scientifica.
Pearson Education Italia (2006)
2 Brian W. Kernighan, Dennis M. Ritchie Linguaggio C, Jakson Libri (1989)
3 Alessandro Bellini, Andrea Guidi, Linguaggio C, Mc Graw Hill (2021)
4 Alessandro Bellini, Andrea Guidi Python & Machine Leraning Mc Graw Hill (2021)
Dispense delle prove di laboratorio sono disponibili alla pagina web del corso sulla piattaforma e-l.unifi.it
A supporto testi di riferimento consigliati:
1 Luciano M. Barone - Enzo Marinari - Giovanni Organtini - Federico Ricci- Tersenghi Programmazione scientifica.
Pearson Education Italia (2006)
2 Brian W. Kernighan, Dennis M. Ritchie Linguaggio C, Jakson Libri (1989) 3 Alessandro Bellini, Andrea Guidi, Linguaggio C, Mc Graw Hill (2021)
4 Alessandro Bellini, Andrea Guidi Python & Machine Leraning Mc Graw Hill (2021)
Obiettivi Formativi - Cognomi A-L
Fornire gli strumenti di base del calcolo numerico e della simulazione di sistemi fisici, analisi dati e loro visualizzazione. Dimestichezza con il linguaggio C e il funzionamento di base di un elaboratore numerico
Obiettivi Formativi - Cognomi M-Z
Fornire gli strumenti di base del calcolo numerico e della simulazione di sistemi fisici, analisi dati e loro visualizzazione. Dimestichezza con il linguaggio C e il funzionamento di base di un elaboratore numerico
Prerequisiti - Cognomi A-L
Nozioni di base di geometria, algebra lineare, analisi 1, equazioni differenziali. Consigliata la conoscenza di un linguaggio di programmazione, di preferenza il linguaggio C.
Prerequisiti - Cognomi M-Z
Nozioni di base di geometria, algebra lineare, analisi 1, equazioni differenziali. Consigliata la conoscenza di un linguaggio di programmazione, di preferenza il linguaggio C.
Metodi Didattici - Cognomi A-L
Lezioni frontali seguite da esperienze di laboratorio in cui si scriveranno, compileranno ed eseguiranno programmi, analizzando i dati prodotti. Si userà il linguaggio C e il software gnuplot o Python per la visualizzazione grafica.
Metodi Didattici - Cognomi M-Z
Lezioni frontali seguite da esperienze di laboratorio in cui si scriveranno, compileranno ed eseguiranno programmi, analizzando i dati prodotti. Si userà il linguaggio C e il software gnuplot o Python per la visualizzazione grafica.
Prova di laboratorio. Allo studente verrà chiesto di costruire tramite linguaggio C un codice che risolve un problema di tipo fisico-matematico con metodi numerici affrontati durante il corso.
Modalità di verifica apprendimento - Cognomi M-Z
Prova di laboratorio. Allo studente verrà chiesto di costruire tramite linguaggio C un codice che risolve un problema di tipo fisico-matematico con metodi numerici affrontati durante il corso.
Programma del corso - Cognomi A-L
Richiamo di elementi del linguaggio C: funzioni, array, puntatori, strutture. Cenni su Python (sintassi base, tipi principali, funzioni pacchetti applicativi per funzioni matematiche e visualizzazione). Input-Output su file e pipes. Generatore di numeri (pseudo)aleatori. Istogrammi e distribuzioni di probabilità. Metodo Monte-Carlo, diffusione, equazione di Langevin. Un esempio di esperimento numerico. Metodi di risoluzione di problemi di algebra lineare e applicazioni a sistemi di equazioni differenziali ordinarie. Sistemi di calcolo di derivate con metodi numerici. Metodi numerici di integrazione delle equazioni differenziali ordinarie: stabilità e precisione. Efficienza della simulazione. Metodi di Verlet e Runge-Kutta. Applicazioni all’oscillatore armonico, pendolo e altri sistemi non lineari. Integrazione numerica di equazioni alle derivate parziali. Propagazione di onde. Dinamica molecolare, applicazione a un gas in interazione di Lennard-Jones.
Programma del corso - Cognomi M-Z
Richiamo di elementi del linguaggio C: funzioni, array, puntatori, strutture. Cenni su Python (sintassi base, tipi principali, funzioni pacchetti applicativi per funzioni matematiche e visualizzazione). Input-Output su file e pipes. Generatore di numeri (pseudo)aleatori. Istogrammi e distribuzioni di probabilità. Metodo Monte-Carlo, diffusione, equazione di Langevin. Un esempio di esperimento numerico. Metodi di risoluzione di problemi di algebra lineare e applicazioni a sistemi di equazioni differenziali ordinarie. Sistemi di calcolo di derivate con metodi numerici. Metodi numerici di integrazione delle equazioni differenziali ordinarie: stabilità e precisione. Efficienza della simulazione. Metodi di Verlet e Runge-Kutta. Applicazioni all’oscillatore armonico, pendolo e altri sistemi non lineari. Integrazione numerica di equazioni alle derivate parziali. Propagazione di onde. Dinamica molecolare, applicazione a un gas in interazione di Lennard-Jones.
Obiettivi Agenda 2030 per lo sviluppo sostenibile - Cognomi M-Z