1 / 14

Programmare in Matlab

Programmare in Matlab. Funzioni di Libreria Funzioni definite dall’utente. Funzioni in Matlab.

jerod
Download Presentation

Programmare in Matlab

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programmare in Matlab Funzioni di Libreria Funzioni definite dall’utente

  2. Funzioni in Matlab Una funzione in programmazione è un blocco di codice (sequenza di istruzioni) che operano su di un insieme definito di variabili passate alla funzione stessa come parametri (variabili di input) mediante un’opportuna sintassi: FUNZIONE PARAMETRI RISULTATI La funzione può restituire, oppure no, delle variabili risultato: Cos(0) 0 1 Grafico a video plot(r_X, r_Y) r_X, r_Y

  3. Funzioni • L’ambiente Matlab permette all’utente: • di utilizzare una larga serie di funzioni già presenti nell’ambiente di sviluppo, • di creare nuove funzioni in base alle esigenze specifiche del programma da realizzare. Funzioni di Libreria Funzioni Utente Sia le funzioni di libreria che le funzioni utente possono essere utilizzate direttamente in finestra di comando (modalità console) o essere richiamate all’interno di uno script (modalità interprete) utilizzando l’opportuna sintassi

  4. Sintassi • La sintassi di chiamata di una funzione consiste nell’elenco ordinato delle variabili: • di input: i parametri, ossia i valori da passare alla funzione, • di output: i risultati: ossia i valori ottenuti dalla funzione. [p, q, …] = function (x, y, z…) Elenco risultati Nome Funzione Elenco parametri

  5. Sintassi [p, q, …] = function (x, y, z…) Nome Funzione Il nome di una funzione è una qualsiasi sequenza di lettere e numeri, con in prima posizione una lettera, senza altri simboli eccetto ‘_’ Elenco parametri L’elenco delle variabili da passare ad una funzione come parametri di input va scritto: dopo il nome della funzione fra parentesi tonde, separati da virgole. Elenco risultati I valori dei risultati di output di una funzione possono essere assegnati ad variabili i cui nomi siano posti, fra parentesi quadre, sulla sinistra del segno uguale, separati da virgole.

  6. Funzioni di Libreria Le Funzioni di libreria sono funzioni disponibili nell’ambiente di calcolo Matlab e possono essere usate sia in modalità console che interprete. Ne esistono di due tipi: • Funzioni in formato binario: (built-in functions) sono di solito le funzioni matematiche usate più spesso e che quindi devono essere più efficienti, e vengono distribuite con la versione base di Matlab. • Funzioni presenti come scripts: (M-file functions) sono di solito funzioni che risolvono metodi numerici più complessi (calcolo di integrali, soluzione di sistemi di equazioni differenziali, ecc.) e possono essere vendute a parte rispetto al programma principale sottoforma di estensioni dette Toolbox. NOTA BENE: La sintassi di chiamata resta comunque la stessa !

  7. Esempi funzioni di Libreria >> [r, c] = size (rand(2, 3)) r = 2C = 3 funzione: size 1 parametro: 1 matrice 2 risultati: 2 scalari >> m_x = zeros (2, 3) m_x = 0 0 0 0 0 0 funzione: zeros 2 parametri: 2 scalari 1 risultato: 1 matrice >> x = cos(pi)x = 0>> r_x = cos([0, pi])r_x = 1 0 funzione: cos 1 parametri: 1 scalare o matrice 1 risultato: 1 scalare o matrice

  8. Funzioni Utente Si possono creare funzioni utilizzando il comando riservato function: La funzione converti accetta la variabile angolo in gradi e ne restituisce il valore in radianti: variabile rad. function [rad] = converti(angolo) rad = angolo/180*pi; return • Il primo rigo della funzione deve contenere la sintassi della funzione che si vuole realizzare preceduta dal comando function, • i parametri, se presenti, devono essere elencati fra parentesi tonde e separati da virgole sulla destra del nome della funzione, • i risultati, variabili di output, se presenti, devono essere elencati fra parentesi quadre, separati da virgole sulla sinistra del segno uguale, • return fa terminare l’esecuzione della funzione (può essere omesso).

  9. Funzioni Globali • è una funzione che può essere utilizzata sia: • all’interno di un qualsiasi script, • in finestra di comando. FUNZIONE GLOBALE function [rad]=converti(angolo) rad = angolo/180*pi; return • La funzione deve essere creata in uno script a se stante, salvato in un M-File che ha lo stesso nome della funzione: • nome file  converti.m • Il file con la funzione deve essere salvato in una delle directory di lavoro di Matlab.

  10. La funzione è stata salvata in un M-file con nome uguale al nome della funzione La directory è una delle directory di lavoro di Matlab

  11. La funzione può, quindi, essere utilizzata direttamente in finestra di comando. Il comando help può essere utilizzato per visualizzare i commenti inseriti subito dopo il comando function nello script

  12. Funzioni Globali Una funzione non può essere mandata in esecuzione direttamente dall’edito degli script (tasto F5 o voce di menù DebugRun) perché Matlab restituisce un messaggio di errore Infatti risulta non definita la variabile angolo da passare alla funzione

  13. Funzioni Locali è una funzione che può essere utilizzata solo all’interno dello script in cui è definita. FUNZIONE LOCALE All’interno di uno script possono essere definite delle funzioni locali solo se lo script stesso è una funzione. Uno script può essere sempre definito come una funzione senza parametri di input e variabili di output.

  14. Lo script FunzioneLocale.m permette di eseguire il grafico del coseno nell’intervallo [0, 2p] riportando i valori degli angolo in gradi anziché in radianti. E’ stata creata una prima funzione senza variabili di input e di output che viene eseguita se si lancia lo script Questa funzione chiama la funzione locale L_converti La funzione locale L_converti viene definita alla fine della funzione principale (dopo il comando return)

More Related