La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Corso di MATLAB Alberto Jurij Plazzi Realizzato da Alberto Jurij Plazzi

Presentazioni simili


Presentazione sul tema: "Corso di MATLAB Alberto Jurij Plazzi Realizzato da Alberto Jurij Plazzi"— Transcript della presentazione:

1 Corso di MATLAB Alberto Jurij Plazzi Realizzato da Alberto Jurij Plazzi

2 Programma del corso I. Introduzione alla programmazione II. Struttura di MATLAB III. Algebra matriciale e linguaggio matriciale in MATLAB IV. Funzioni matematico - statistiche V. Importazione ed esportazione di dati

3 Programma del corso VI. M- files: creazione delle funzioni VII. Loop VIII. Espressioni if e relazioni logiche IX. Grafici e funzioni plot X. Funzioni di ottimizzazione di MATLAB

4 I.Introduzione alla programmazione

5 Ambito di applicazione Nellanalisi dei fenomeni economici e finanziari è indispensabile conoscere e saper programmare software econometrico – statistici, che siano in grado di risolvere problematiche di carattere matematico e statistico più o meno complesse, altrimenti impossibili da trattare per la loro difficoltà computazionale.

6 La programmazione Programmare Programmare significa scrivere in un particolare linguaggio un testo in grado di essere letto dal software, che contenga delle istruzioni che il software dovrà eseguire al fine di produrre un risultato numerico. Per questo motivo la fase di programmazione potrebbe in linea di principio essere eseguita su un qualsiasi editor di testo (es. Word, txt,..), per poi essere letta con il programma prescelto.

7 Principali software econometrico - statistici Eviews Gauss MATLAB Matematica Stata MAPLE C++ …..

8 Importanza dellalgebra matriciale dati I fenomeni finanziari ed economici vengono analizzati soprattutto mediante lo studio di dati, che possono riguardare: time series una stessa variabile osservata in momenti diversi => campione in time series (serie storica); es. la serie storica giornaliera dei prezzi del petrolio cross section diverse variabili osservate in uno stesso momento => campione in cross section; es. il valore di più indici azionari osservati in un momento.

9 Importanza dellalgebra matriciale matrici Indipendentemente dal tipo di dati con cui stiamo lavorando, questi sono raccolti in matrici, sulle quali noi lavoriamo per esaminare il fenomeno in oggetto Per questo motivo è indispensabile conoscere sia lalgebra matriciale sia il linguaggio matriciale che è alla base dei principali software di programmazione.

10 Concentriamo lattenzione su Gauss e MATLAB Gauss: interfaccia molto semplice, grande facilità di programmazione e ottime capacità computazionali; limiti nellassenza di debug e nella interazione con Windows. MATLAB: interfaccia più vicina a Windows, capacità di lavorare congiuntamente con Excel, grande facilità di programmazione e buone capacità computazionali trade off tra duttilità del software e precisione computazionale

11 II.Struttura di MATLAB

12 Struttura di MATLAB Matlab può venir utilizzato per: Applicazioni matematiche e calcoli numerici Procedure Simulazioni Analisi di dati Grafici …..

13 Struttura di MATLAB command Allapertura di MATLAB ci troviamo sulla finestra del command: questo significa che sulla riga in cui lampeggia lindicatore di testo possiamo digitare le operazioni, che verranno immediatamente recepite dal programma ed eseguite premendo INVIO. freccia in alto Quanto scritto nel command durante tutta la sessione di lavoro può essere ripreso durante la stessa ponendosi su una linea e premendo la freccia in alto; premendo tale tasto in continuazione viene visualizzato quanto digitato precedentemente. clc Quando la finestra di command su cui sono state eseguite le operazioni risulta troppo piena e si vuole cancellarla, si digita clc e si preme invio. La cancellazione non preclude lutilizzo della funzione precedente (freccia in su).

14 Struttura di MATLAB definire delle variabili Le operazioni immesse nel command vengono immediatamente eseguite da MATLAB, che fornisce il risultato premendo il tasto INVIO al termine della operazione da eseguire: es. >> 7/5 (INVIO) ans= Oppure, nella stragrande maggioranza dei casi, abbiamo bisogno di definire delle variabili che rimarranno in memoria in MATLAB per tutta la sessione di lavoro poiché vengono da questo immagazzinate in una memoria temporanea: es. >> A=7.5 Da questo momento in poi ad A sarà associato il valore 7.5. Quindi se digitiamo >> A*2 ans= 15

15 Struttura di MATLAB Qualora digitassimo: >> A=6 ans= dora in poi ad A sarà associato il valore 6 e verrà riscritto sul valore precedente. ATTENZIONE: 1. MATLAB distingue tra lettere maiuscole e lettere minuscole, per cui se avessimo per sbaglio digitato prima >> a*2 ??? Undefined function or variable a 2. Non si può nominare una variabile come pi, cui è associato il numero

16 Struttura di MATLAB ; Qualora nel command si voglia effettuare una operazione senza che MATLAB ne stampi a video il risultato bisogna porre alla fine della riga un punto e virgola ;. Ovviamente questo ha senso solo se sto lavorando con variabili definite, altrimenti rende inutile loperazione. Es. se digito: >> 1+2; >> MATLAB ha calcolato 1+2 ma siccome non è coinvolta nessuna variabile non abbiamo visto il risultato delloperazione e non è successo nulla, non possiamo usare il risultato in quanto ad esso non è associata alcuna variabile utilizzabile nelle righe successive. Se invece digito: >>r=3+4; >>r*2 ans= 14 e qui ho utilizzato (ma non stampato a video) il risultato di 3+4.

17 Struttura di MATLAB Qualora il testo da inserire risultasse troppo lungo per essere visualizzato su una riga, è possibile scrivere un testo su più righe utilizzando uno spazio e i tre punti … sulla riga su cui poi si va a capo. Quindi scrivere: >> r=3+4/2-7+9 r= 7 è lo stesso di scrivere >> r=3+4/2 … -7+9 r= 7 apostrofi Volendo che MATLAB stampi a video una stringa di lettere (delle parole) e non numeri, ad es. la parola ciao, basta racchiudere la stessa tra apostrofi. Es: >> ciao ans= ciao

18 Struttura di MATLAB Volendo introdurre un testo che non sia invece considerato dal programma lo si deve racchiudere tra %. Es. >> 4+2 %ciao% ans= 6 e il programma lo ignora. (Questa funzione risulterà molto utile nelledit.)

19 Command & Edit Quando scriviamo operazioni sul command abbiamo tuttavia diversi inconvenienti: principalmente la difficoltà di gestire una serie piuttosto lunga di operazioni da far eseguire al computer in successione logica. La sconvenienza del command deriva dal fatto che essendo le operazioni eseguite subito, possono comparire messaggi di errore, etc. Inoltre, il testo della finestra del command non può essere salvato in un file a parte, se non selezionando il testo, facendo copia e incolla su un edit tipo Word, ma vengono compresi anche i messaggi di errore o i risultati. È opportuno invece che il testo contenente le operazioni da far eseguire in successione sia scritto in una finestra di edit di testo, e dopo tale file venga letto dal command, che fornisca il risultato delle operazioni contenute nel file di testo, che contiene tutte e sole le operazioni.

20 Edit.m Lopportunità di lavorare sulledit risiede nella possibilità di salvare quanto scritto su un file di estensione.m, che poi in qualsiasi altro momento può essere recuperato e modificato. Tali files vengono pertanto definiti M-files. Quindi: command Per codici che coinvolgono un breve numero di operazioni si può agire direttamente sul command; edit Per codici che vogliono essere salvati per poi essere riutilizzati o per codici che consistono in parecchie operazioni dobbiamo lavorare sulledit

21 Edit Per quanto detto, 3 sono le operazioni possibili allapertura di MATLAB: Lavorare direttamente sulla finestra aperta (il command); Aprire un nuovo file di edit digitando File > New > M-file che apre una nuova finestra di edit su cui possiamo lavorare work Aprire un file di edit precedentemente creato digitando File > Open > … che va nella cartella work, la cartella destinata ad accogliere tutti i personali m-files.

22 Edit Una volta aperto il file di edit, possiamo su di esso digitare tutte le operazioni che vedremo in seguito (manipolazione di matrici, loop,…). Se vogliamo vedere il risultato delle operazioni, dobbiamo far correre, girare il programma premendo nelledit, dopo aver salvato il file: Debug (o Tools) > Run o più semplicemente premendo il tasto F5. In questo modo otterremo nel command i risultati delle operazioni della finestra di edit, che non verrà così toccata dai risultati. Possiamo durante la sessione passare sempre da edit a command e viceversa: sulledit abbiamo il testo delle operazioni, sul command il risultato.

23 Edit Una volta scritto nelledit un codice completo e volendo salvarlo per averlo a disposizione in futuro, possiamo digitare nelledit: File > Save as… che va a salvare il file con estensione.m nella cartella work, dove sarà possibile riaprirlo in futuro digitando come detto File > Open >…

24 Edit Il percorso o path nel quale MATLAB legge e salva i files può essere visto digitando nel command il comando path. Tale percorso può essere modificato inserendo o eliminando le cartelle nelle quali MATLAB cerca le funzioni e i files digitando File > Set Path…

25 Cosa sono le librerie o toolbox MATLAB consiste di una serie di funzioni di base, es. creazione di matrici, funzioni matematiche, … attraverso le quali è possibile svolgere uninfinità di funzioni. Tuttavia sono state create delle librerie apposite, ovvero delle raccolte di funzioni, specifiche per argomento. Es. librerie di ottimizzazione, finanza, simulazione, derivati …. Si tratta quindi di raccolte di funzioni che lutilizzatore ha a disposizione immediatamente, essendo già state create. Le librerie sono immediatamente utilizzabili nelledit e nel command, e inoltre andando nella directory di MATLAB possiamo aprire i singoli file delle librerie e osservare i codici associati ad ogni funzione.

26 Aiuti nella programmazione help matlab\elmat Il tasto help è il principale aiuto nellutilizzo di MATLAB. Digitando nel command help si apre un elenco che costituisce linsieme di librerie presenti in Matlab. Digitando help seguito dal nome della libreria scelta otteniamo la serie di funzioni associate alla libreria, con una indicazione della loro utilità. Ad es. se digitiamo help vediamo che la libreria matlab\elmat si occupa di matrici, e digitando help matlab\elmat abbiamo unindicazione di tutte le funzioni presenti in questa libreria.

27 Aiuti nella programmazione Digitando poi help seguito dal nome della funzione otteniamo una descrizione dellutilizzo della funzione stessa. es. help mean ci dice come funziona questa funzione che calcola la somma facendoci anche un esempio. Inoltre se andiamo a recuperare ed aprire il file mean.m (file associato alla funzione mean) allinterno della directory di MATLAB, vediamo che quanto stampato a video corrisponde alle righe racchiuse tra % presenti allinizio della funzione. Riprenderemo questo discorso più avanti parlando delle funzioni.

28 Aiuti nella programmazione Un altro comando che permette di visualizzare le funzioni che riguardano lo stesso argomento di una funzione nota è lookfor. Ad es. digitando lookfor diag otteniamo tutti i comandi analoghi al comando di estrazione della diagonale principale di una matrice. In MATLAB esiste inoltre una guida che può essere in ogni momento consultata premendo Help > MATLAB Help

29 Aiuti nella programmazione Nella creazione di funzioni risulta utilissima la presenza nelledit del Debug, ossia di un meccanismo che permette allutilizzatore di avere i risultati delle operazioni che il programma svolge o meglio sta svolgendo, allinterno di una funzione, controllando che calcoli esattamente ciò che si voleva esso facesse. Vedremo più avanti la sua utilità nellabito della creazione di funzioni.

30 Altri comandi video Who e whos: digitati nel command, forniscono rispettivamente il nome delle variabili utilizzate (who) e il nome delle variabili utilizzate + la loro dimensione, cioè se matrici, numeri, … (whos). Clear: digitato nel command azzera tutte la variabili temporaneamente presenti. Attenzione!: mentre clc cancella quanto è scritto ma non la memoria temporanea, clear azzera proprio questultima!

31 Altri comandi video Il comando format gestisce laspetto grafico con il quale vengono visualizzati i risultati. In sintesi possiamo usare nel command format short format long


Scaricare ppt "Corso di MATLAB Alberto Jurij Plazzi Realizzato da Alberto Jurij Plazzi"

Presentazioni simili


Annunci Google