20410560-2 - MODULO B - PROGRAMMAZIONE IN MATLAB

Acquisire competenze per l'implementazione al calcolatore di programmi ad alto livello nel linguaggio interpretato MATLAB.
Conoscere i costrutti fondamentali di MATLAB e la sua applicazione a casi d'uso legati al calcolo scientifico e all'elaborazione dei dati.

Curriculum

scheda docente | materiale didattico

Programma

Il desktop Matlab, command window, workspace, current folder, command history, documentazione MATLAB, organizzazione delle finestre, preferenze. Gestione del workspace, caricare/salvare variabili da/su file .mat. Editor di Array, editing manuale di variabili. Editor di Script, comandi basilari per aprire/salvare/modificare file script con estensione .m.
Espressioni matematiche, numeri e formati, variabili, formato di display, assegnazione di variabili, funzioni matematiche come operandi, operatori aritmetici, funzioni matematiche come operatori, modificatori d’ordine, funzioni di conversione.
Vettori e matrici bidimensionali, assegnazione di matrici e vettori, caricamento di matrici e vettori da file, funzioni per la generazione di matrici (zeros, ones, rand, randn, eye etc.), operatore di concatenazione, trasposizione, lunghezza vettori, dimensioni vettori e matrici, operazioni aritmetiche tra matrici, operazioni elemento a elemento, funzioni di matrici, funzioni elemento per elemento, accesso/modifica/cancellazione di elementi e blocchi di elementi.
Matrici utili, norma di vettori e matrici, operatore “:”, funzioni aggregate, indicizzazione di matrici e vettori con doppio e singolo indice, indicizzazione vettoriale. Variabili booleane, operatori relazionali, operatori logici, espressioni logiche su scalari, vettori e matrici, indicizzazione logica.
Array numerici multidimensionali, caratteri e stringhe, function “char”. Cell array, operatore di concatenazione, indicizzazione di cell array, accesso alle celle, accesso al contenuto delle celle, function “cell”. Structure, function “struct”, indicizzazione delle structure, accesso ai campi delle structure.
Polinomi, valutazione polinomi per punti, somma/sottrazione/prodotto/divisione tra polinomi, derivazione di polinomi, radici di polinomi, polinomi date le radici. Numeri complessi, unità immaginaria, costruzione di numeri complessi, rappresentazione cartesiana e polare di numeri complessi. Sequenze numeriche e serie.
Oggetti grafici, gerarchia e tipi, handles. Leggere/scrivere proprietà di oggetti, trovare valori di proprietà, copiare/cancellare oggetti. Oggetti “Figure”, oggetti “Axes”, oggetti “Line”. Colori, rappresentazione RGB. Grafici 2D: function "plot" e "subplot", disegno di punti e curve nel piano, disegno di funzioni matematiche, disegno di numeri complessi, disegno di linee multiple tramite matrici, disegno di curve parametriche 2D, function “hystogram”, altre function utili per generare specifici grafici 2D. Stili di linea, colori, markers, salvataggio di figure. Grafici 3D: function “plot3”, “surf” e “mesh”, generazione di griglie cartesiane bidimensionali per grafici 3D da vettori tramite “meshgrid”, disegno di curve parametriche 3D. Esempi di grafici 2D e 3D.
Programmazione in MATLAB, M-files, script e function, comandi di input/output, istruzioni per il controllo di flusso, istruzioni per i loop, controllo dei loop. Tipi di function, function primarie, function ausiliarie, function innestate, function anonime, handles di functions. Variabili globali, interruzione di script e function, program debugging e commenti.
Function di function per la risoluzione di problemi di analisi matematica, grafico di funzioni matematiche, calcolo degli zeri di una funzione scalare, risoluzione di sistemi algebrici non lineari, calcolo di integrali definiti, minimizzazione di funzioni scalari in intervalli, minimizzazione multidimensionale non-lineare non-vincolata, minimizzazione vincolata, risoluzione di problemi differenziali di Cauchy del primo ordine.


Testi Adottati

Slides del corso

Modalità Valutazione

Lo studente dovrà produrre un progetto in MATLAB su un tema di sua scelta, o scegliendone uno tra quelli proposti a lezione, usando i costrutti MATLAB visti a lezione. Lo studente discuterà oralmente in sede di esame il proprio progetto. Verrà valutata la qualità del progetto prodotto e la conoscenza dei costrutti visti a lezione.

scheda docente | materiale didattico

Programma

Il desktop Matlab, command window, workspace, current folder, command history, documentazione MATLAB, organizzazione delle finestre, preferenze. Gestione del workspace, caricare/salvare variabili da/su file .mat. Editor di Array, editing manuale di variabili. Editor di Script, comandi basilari per aprire/salvare/modificare file script con estensione .m.
Espressioni matematiche, numeri e formati, variabili, formato di display, assegnazione di variabili, funzioni matematiche come operandi, operatori aritmetici, funzioni matematiche come operatori, modificatori d’ordine, funzioni di conversione.
Vettori e matrici bidimensionali, assegnazione di matrici e vettori, caricamento di matrici e vettori da file, funzioni per la generazione di matrici (zeros, ones, rand, randn, eye etc.), operatore di concatenazione, trasposizione, lunghezza vettori, dimensioni vettori e matrici, operazioni aritmetiche tra matrici, operazioni elemento a elemento, funzioni di matrici, funzioni elemento per elemento, accesso/modifica/cancellazione di elementi e blocchi di elementi.
Matrici utili, norma di vettori e matrici, operatore “:”, funzioni aggregate, indicizzazione di matrici e vettori con doppio e singolo indice, indicizzazione vettoriale. Variabili booleane, operatori relazionali, operatori logici, espressioni logiche su scalari, vettori e matrici, indicizzazione logica.
Array numerici multidimensionali, caratteri e stringhe, function “char”. Cell array, operatore di concatenazione, indicizzazione di cell array, accesso alle celle, accesso al contenuto delle celle, function “cell”. Structure, function “struct”, indicizzazione delle structure, accesso ai campi delle structure.
Polinomi, valutazione polinomi per punti, somma/sottrazione/prodotto/divisione tra polinomi, derivazione di polinomi, radici di polinomi, polinomi date le radici. Numeri complessi, unità immaginaria, costruzione di numeri complessi, rappresentazione cartesiana e polare di numeri complessi. Sequenze numeriche e serie.
Oggetti grafici, gerarchia e tipi, handles. Leggere/scrivere proprietà di oggetti, trovare valori di proprietà, copiare/cancellare oggetti. Oggetti “Figure”, oggetti “Axes”, oggetti “Line”. Colori, rappresentazione RGB. Grafici 2D: function "plot" e "subplot", disegno di punti e curve nel piano, disegno di funzioni matematiche, disegno di numeri complessi, disegno di linee multiple tramite matrici, disegno di curve parametriche 2D, function “hystogram”, altre function utili per generare specifici grafici 2D. Stili di linea, colori, markers, salvataggio di figure. Grafici 3D: function “plot3”, “surf” e “mesh”, generazione di griglie cartesiane bidimensionali per grafici 3D da vettori tramite “meshgrid”, disegno di curve parametriche 3D. Esempi di grafici 2D e 3D.
Programmazione in MATLAB, M-files, script e function, comandi di input/output, istruzioni per il controllo di flusso, istruzioni per i loop, controllo dei loop. Tipi di function, function primarie, function ausiliarie, function innestate, function anonime, handles di functions. Variabili globali, interruzione di script e function, program debugging e commenti.
Function di function per la risoluzione di problemi di analisi matematica, grafico di funzioni matematiche, calcolo degli zeri di una funzione scalare, risoluzione di sistemi algebrici non lineari, calcolo di integrali definiti, minimizzazione di funzioni scalari in intervalli, minimizzazione multidimensionale non-lineare non-vincolata, minimizzazione vincolata, risoluzione di problemi differenziali di Cauchy del primo ordine.


Testi Adottati

Slides del corso

Modalità Valutazione

Lo studente dovrà produrre un progetto in MATLAB su un tema di sua scelta, o scegliendone uno tra quelli proposti a lezione, usando i costrutti MATLAB visti a lezione. Lo studente discuterà oralmente in sede di esame il proprio progetto. Verrà valutata la qualità del progetto prodotto e la conoscenza dei costrutti visti a lezione.

scheda docente | materiale didattico

Programma

Il desktop Matlab, command window, workspace, current folder, command history, documentazione MATLAB, organizzazione delle finestre, preferenze. Gestione del workspace, caricare/salvare variabili da/su file .mat. Editor di Array, editing manuale di variabili. Editor di Script, comandi basilari per aprire/salvare/modificare file script con estensione .m.
Espressioni matematiche, numeri e formati, variabili, formato di display, assegnazione di variabili, funzioni matematiche come operandi, operatori aritmetici, funzioni matematiche come operatori, modificatori d’ordine, funzioni di conversione.
Vettori e matrici bidimensionali, assegnazione di matrici e vettori, caricamento di matrici e vettori da file, funzioni per la generazione di matrici (zeros, ones, rand, randn, eye etc.), operatore di concatenazione, trasposizione, lunghezza vettori, dimensioni vettori e matrici, operazioni aritmetiche tra matrici, operazioni elemento a elemento, funzioni di matrici, funzioni elemento per elemento, accesso/modifica/cancellazione di elementi e blocchi di elementi.
Matrici utili, norma di vettori e matrici, operatore “:”, funzioni aggregate, indicizzazione di matrici e vettori con doppio e singolo indice, indicizzazione vettoriale. Variabili booleane, operatori relazionali, operatori logici, espressioni logiche su scalari, vettori e matrici, indicizzazione logica.
Array numerici multidimensionali, caratteri e stringhe, function “char”. Cell array, operatore di concatenazione, indicizzazione di cell array, accesso alle celle, accesso al contenuto delle celle, function “cell”. Structure, function “struct”, indicizzazione delle structure, accesso ai campi delle structure.
Polinomi, valutazione polinomi per punti, somma/sottrazione/prodotto/divisione tra polinomi, derivazione di polinomi, radici di polinomi, polinomi date le radici. Numeri complessi, unità immaginaria, costruzione di numeri complessi, rappresentazione cartesiana e polare di numeri complessi. Sequenze numeriche e serie.
Oggetti grafici, gerarchia e tipi, handles. Leggere/scrivere proprietà di oggetti, trovare valori di proprietà, copiare/cancellare oggetti. Oggetti “Figure”, oggetti “Axes”, oggetti “Line”. Colori, rappresentazione RGB. Grafici 2D: function "plot" e "subplot", disegno di punti e curve nel piano, disegno di funzioni matematiche, disegno di numeri complessi, disegno di linee multiple tramite matrici, disegno di curve parametriche 2D, function “hystogram”, altre function utili per generare specifici grafici 2D. Stili di linea, colori, markers, salvataggio di figure. Grafici 3D: function “plot3”, “surf” e “mesh”, generazione di griglie cartesiane bidimensionali per grafici 3D da vettori tramite “meshgrid”, disegno di curve parametriche 3D. Esempi di grafici 2D e 3D.
Programmazione in MATLAB, M-files, script e function, comandi di input/output, istruzioni per il controllo di flusso, istruzioni per i loop, controllo dei loop. Tipi di function, function primarie, function ausiliarie, function innestate, function anonime, handles di functions. Variabili globali, interruzione di script e function, program debugging e commenti.
Function di function per la risoluzione di problemi di analisi matematica, grafico di funzioni matematiche, calcolo degli zeri di una funzione scalare, risoluzione di sistemi algebrici non lineari, calcolo di integrali definiti, minimizzazione di funzioni scalari in intervalli, minimizzazione multidimensionale non-lineare non-vincolata, minimizzazione vincolata, risoluzione di problemi differenziali di Cauchy del primo ordine.


Testi Adottati

Slides del corso

Modalità Valutazione

Lo studente dovrà produrre un progetto in MATLAB su un tema di sua scelta, o scegliendone uno tra quelli proposti a lezione, usando i costrutti MATLAB visti a lezione. Lo studente discuterà oralmente in sede di esame il proprio progetto. Verrà valutata la qualità del progetto prodotto e la conoscenza dei costrutti visti a lezione.