Section outline


  • CODICE DI ACCESSO AL CORSO SU TEAMS: g3uh3zo


    INIZIO CORSO 

    MARTEDI' 1 MARZO 2022

    • In inglese:

      Matlab - A Practical Introduction to Programming and Problem Solving - Fifth Edition
      Stormy Attaway
      Butterworth-Heinemann
      ISBN 9780128154793
      Computer Programming with Matlab
      J. Michael Fitzpatrick and Ákos Lédeczi
      ISBN 9780615751139


      In italiano:

      Matlab Concetti e progetti
      Terza edizione
      Giovanni Naldi, Lorenzo Pareschi
      Maggioli Editore - Apogeo Education
      ISBN 9788891640093
      Matlab per le applicazioni economiche e finanziarie
      Cristina Pocci , Giulia Rotundo, Roeland De Kok
      Maggioli Editore - Apogeo Education
      ISBN 9788891619921

      Inoltre ampia documentazione è disponibile sul sito della MathWorks: https://it.mathworks.com/


    • Programma svolto

      L'ambiente Matlab; help e documentazione in Matlab; identificatori e loro caratteristiche; tipi di variabile; espressioni; il comando format long e short; operatori aritmetici; regole di precedenza degli operatori; versione funzionale degli operatori; costanti; numeri casuali (funzioni rand e randi); errori dovuti ad approssimazioni;  stringhe e array di caratteri; operatori ed espressioni relazionali; il tipo logical; operatori logici; xor; casting tra tipi; funzione cast; tipo char e codice ascii; principali funzioni numeriche; funzioni sign, fix, floor, ceil, rem e mod; differenza tra fix e floor e tra rem e mod; funzioni per il calcolo dei logartmi e dell'esponenziale; funzioni deg2rad e rad2deg.


      Per questa parte si può fare riferimento al Capitolo 1 del testo "Matlab - A Practical Introduction to Programming and Problem Solving - Fifth Edition" di Stormy Attaway.

    • Programma svolto

      Vettori riga e colonna; trasposizione; iteratori, linspace e logspace; modifica degli elementi di un vettore; matrici; rand e randi per creare matrici di numeri casuali; matrici in modalità lineare; memorizzazione delle matrici per colonna; modifica di valori di una matrice; estensione di matrici; uso di vettori di indici; le funzioni length, size e numel; l'espressione end; reshape, repmat e repelem; il vettore vuoto; cancellare elementi in un vettore; cancellare righe e colonne in una matrice; matrici tridimensionali; vettori e matrici come argomenti di funzioni; le funzioni abs, sign, max, min, sum, prod e le rispettive funzioni cumulate; la funzione diff; operazioni numeriche con vettori e matrici e rispettivi operatori; vettori logici e la funzione logical; indicizzazione logica; le funzioni true, false, any, all; le funzioni find ed isequal; gli operatori and ed or, corticircuitati e non; operazioni matriciali e vettoriali; il prodotto scalare e la funzione dot; uso di tic e toc e timeit per valutare la velocità di esecuzione di una funzione.


      Per questa parte si può fare riferimento al Capitolo 2 del testo "Matlab - A Practical Introduction to Programming and Problem Solving - Fifth Edition" di Stormy Attaway.


    • Programma svolto

      Matlab come interprete; script Matlab; commenti e blocchi di commenti; comando type; input e fprintf; comportamento di fprintf con vettori e matrici; display e disp; funzioni plot e bar e principali opzioni per il disegno; uso di save per il salvataggio di file ascii; l'opzione append di save; uso di load per la lettura di file ascii; definizione e chiamata di funzioni; argomenti e variabili locali delle funzioni; ambito e durata delle variabili locali; uso di funzioni in modalità comando; la modalità copy on write di matlab.

      Per questa parte si può fare riferimento al Capitolo 3 del testo "Matlab - A Practical Introduction to Programming and Problem Solving - Fifth Edition" di Stormy Attaway.

      La modalità "Copy on write" di Matlab è descritta al link Avoid Unnecessary Copies of Data.

    • Programma svolto

      Istruzioni if, if else, if elseif else; istruzione switch case; le principali funzioni di tipo "is" in Matlab; istruzioni for e while; subplot; vettorizzazione; preallocazione; verifica del tempo di esecuzione di codice con e senza preallocazione; estensione di un vettore; controllo dell'input con un ciclo; verifica che un dato sia un numero intero; uso di imread, image, imshow per leggere e visualizzare un'immagine.

      Per questa parte si può fare riferimento ai Capitoli 4 e 5 del testo "Matlab - A Practical Introduction to Programming and Problem Solving - Fifth Edition" di Stormy Attaway.

  • Programma svolto

    Sintassi per la scrittura di funzioni in Matlab; chiamata delle funzioni; passaggio degli argomenti a una funzione; visibilità e durata delle variabili nelle funzioni; commenti nelle funzioni; modularità nella programmazione; funzioni locali; variabili globali; variabili persistenti; tipi di errore (di sintassi, in esecuzione, logici); il tracing; il debugger; il profiler.

    Per questa parte si può fare riferimento al Capitolo 6 del testo "Matlab - A Practical Introduction to Programming and Problem Solving - Fifth Edition" di Stormy Attaway.

    Per l'uso del profiler in Matlab si veda questo link: 


  • Programma svolto

    Array di caratteri e stringhe in Matlab: uso e principali differenze; principali funzioni di manipolazione delle stringhe e degli array di caratteri: char, string, blanks, plus, strcat, sprintf, strlength, strip, erase, upper, lower, strcmp, strfind, strrep, count, strsplit, join, ischar, isstring; conversioni tra testo e numeri: int2str, num2str, str2num, str2double.

    Per questa parte si può fare riferimento al Capitolo 7 del testo "Matlab - A Practical Introduction to Programming and Problem Solving - Fifth Edition" di Stormy Attaway.

  • Programma svolto

    Array di celle: creazione ed impiego; funzioni length e size per gli array di celle; uso degli array di celle per contenere array di caratteri; funzioni strlength, cellstr, strjoin, strsplit, iscellstr; array di celle e comma-separated list; variabili strutturate: definizione, modalità di creazione e loro impiego; funzioni rmfield, istruct, isfield, fieldnames; uso dinamico del nome di campo; vettori di strutture: creazione ed impiego; vettori di strutture e comma-separated list; strutture nidificate e vettori di strutture nidificate; uso delle funzioni mat2cell, cell2mat, num2cell; array categorici; funzioni categories, countcats e summary; array categorici ordinati; tabelle: definizione, modalità di creazione e loro impiego; principali proprietà delle tabelle (nomi delle righe e nomi delle variabili); funzioni polyfit e polyval.

    Per questa parte si può fare riferimento al Capitolo 8 del testo "Matlab - A Practical Introduction to Programming and Problem Solving - Fifth Edition" di Stormy Attaway.

    Per l'impiego delle funzioni mat2cell, cell2mat, num2cell, polyfit e polyval si faccia riferimento alla documentazione di Matlab ("doc" seguito dal nome della funzione in ambiente Matlab).

    Per le principali proprietà delle tabelle si veda la documentazione Matlab alla voce table


  • Programma svolto

    Uso di save e load per salvare e caricare variabili del workspace; lettura e scrittura di file di test: fopen, fgetl, fgets, fclose, feof, fprintf e relativi schemi generali di lettura e scrittura di un file di testo; funzioni fscanf e textscan; sscanf.

    Per questa parte si può fare riferimento al Capitolo 9 del testo "Matlab - A Practical Introduction to Programming and Problem Solving - Fifth Edition" di Stormy Attaway.

    Per l'impiego della funzione sscanf si faccia riferimento alla documentazione di Matlab ("doc" seguito dal nome della funzione in ambiente Matlab).

  • Programma svolto

    Numero variabile di argomenti in input ed in output; uso di varargin, nargin, varargout, nargout; funzioni nidificate e loro caratteristiche; funzioni anonime; riferimenti a funzioni; passaggio di funzioni come argomenti di funzioni (function functions); func2str e str2func; fplot; feval; timeit e il suo uso con funzioni anonime.

    Per questa parte si può fare riferimento al Capitolo 10 del testo "Matlab - A Practical Introduction to Programming and Problem Solving - Fifth Edition" di Stormy Attaway.

  • Programma svolto

    Definizione di ricorsione; confronto tra algoritmi ricorsivi ed iterativi; i numeri di Fibonacci in modalità iterativa e ricorsiva, con calcolo diretto e con calcolo tramite sequenza; la funzione fit di Matlab; uso di fit per visualizzare la complessità di un algoritmo.

    Per questa parte si può fare riferimento al Capitolo 10 del testo "Matlab - A Practical Introduction to Programming and Problem Solving - Fifth Edition" di Stormy Attaway.

    Per l'impiego della funzione fit si faccia riferimento alla documentazione di Matlab ("doc" seguito dal nome della funzione in ambiente Matlab).