La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Matlab MATLAB (MATrix LABoratory) è un ambiente interattivo ad alto livello che consente di costruire e gestire facilmente matrici e, come casi particolari,

Presentazioni simili


Presentazione sul tema: "Matlab MATLAB (MATrix LABoratory) è un ambiente interattivo ad alto livello che consente di costruire e gestire facilmente matrici e, come casi particolari,"— Transcript della presentazione:

1 Matlab MATLAB (MATrix LABoratory) è un ambiente interattivo ad alto livello che consente di costruire e gestire facilmente matrici e, come casi particolari, vettori e scalari. La struttura dati di base è la matrice: ciò significa che durante l’elaborazione ogni quantità viene trattata dall’ambiente di calcolo come una matrice di dimensione nxm. (un vettore è una matrice 1xn, mentre uno scalare è gestito come una matrice 1x1).

2 Non solo matrici… MATLAB fornisce un ambiente di calcolo, visualizzazione e programmazione scientifica, in cui è possibile: calcolare direttamente espressioni matematiche; utilizzare il semplice ambiente di programmazione per costruire i propri algoritmi; sfruttare algoritmi di base già implementati - built-in function -

3 Altre funzionalità di MATLAB Matematica e calcolo Sviluppo di procedure e applicazioni Modellistica, simulazione e prototipizzazione Analisi di dati, esplorazione e visualizzazione Disegno industriale e scientifico Costruzione di interfacce utente TOOLBOX vari

4 MATLAB linguaggio per programmare. E’ un linguaggio interpretato e non compilato: questo significa che le istruzioni vengono tradotte in linguaggio macchina (il linguaggio “capito” dal processore) e subito eseguite una per volta. Utilizzando C, Fortran, C++, la traduzione da linguaggio ad alto livello a linguaggio macchina avviene invece nel processo di compilazione, in cui tutto il programma viene tradotto in linguaggio macchina e poi eseguito.

5 Ambiente di sviluppo Matlab Per lanciare MATLAB da ambiente Windows basta cliccare due volte con il mouse sull’icona corrispondente. La finestra che appare quando si esegue MATLAB viene chiamata desktop. Il simbolo prompt >> indica che il calcolatore è pronto a ricevere le istruzioni e ad eseguirle. Per uscire dall’ambiente basta digitare >> quit

6 Command Window: detta anche finestra dei comandi, è la parte del desktop in cui si scrivono i comandi MATLAB che devono essere eseguiti. Permette pertanto all’utente di comunicare con il programma MATLAB. Command History: questa finestra mostra tutti i comandi precedentemente immessi nella finestra dei comandi.

7 Il manuale (o help) Si puo’ accedere al manuale o tramite il menu Help → MATLAB Help (guida in linea) o digitando help dalla Command Window (help generale di tutte le funzioni). Per visualizzare l’help di un singolo comando digitare help dalla Command Window (esempio help plot). Digitando lookfor si attiva invece la ricerca di funzioni basate su una parola chiave. Attraverso il comando doc si accede direttamente alla documentazione online di MATLAB.

8 Menù Help -> Matlab Help

9 >> help plot PLOT Linear plot. PLOT(X,Y) plots vector Y versus vector X. If X or Y is a matrix, then the vector is plotted versus the rows or columns of the matrix, whichever line up. If X is a scalar and Y is a vector, disconnected line objects are created and plotted as discrete points vertically at X. PLOT(Y) plots the columns of Y versus their index. If Y is complex, PLOT(Y) is equivalent to PLOT(real(Y),imag(Y)). In all other uses of PLOT, the imaginary part is ignored. Various line types, plot symbols and colors may be obtained with PLOT(X,Y,S) where S is a character string made from one element from any or all the following 3 columns: b blue. point - solid g green o circle : dotted r red x x-mark -. dashdot c cyan + plus -- dashed m magenta * star (none) no line y yellow s square k black d diamond v triangle (down) ^ triangle (up) < triangle (left) > triangle (right) p pentagram h hexagram

10 For example, PLOT(X,Y,'c+:') plots a cyan dotted line with a plus at each data point; PLOT(X,Y,'bd') plots blue diamond at each data point but does not draw any line. PLOT(X1,Y1,S1,X2,Y2,S2,X3,Y3,S3,...) combines the plots defined by the (X,Y,S) triples, where the X's and Y's are vectors or matrices and the S's are strings. For example, PLOT(X,Y,'y-',X,Y,'go') plots the data twice, with a solid yellow line interpolating green circles at the data points. The PLOT command, if no color is specified, makes automatic use of the colors specified by the axes ColorOrder property. The default ColorOrder is listed in the table above for color systems where the default is blue for one line, and for multiple lines, to cycle through the first six colors in the table. For monochrome systems, PLOT cycles over the axes LineStyleOrder property. If you do not specify a marker type, PLOT uses no marker. If you do not specify a line style, PLOT uses a solid line. PLOT(AX,...) plots into the axes with handle AX.

11 PLOT returns a column vector of handles to lineseries objects, one handle per plotted line. The X,Y pairs, or X,Y,S triples, can be followed by parameter/value pairs to specify additional properties of the lines. For example, PLOT(X,Y,'LineWidth',2,'Color',[.6 0 0]) will create a plot with a dark red line width of 2 points. Example x = -pi:pi/10:pi; y = tan(sin(x)) - sin(tan(x)); plot(x,y,'--rs','LineWidth',2,... 'MarkerEdgeColor','k',... 'MarkerFaceColor','g',... 'MarkerSize',10) See also plottools, semilogx, semilogy, loglog, plotyy, plot3, grid, title, xlabel, ylabel, axis, axes, hold, legend, subplot, scatter. Reference page in Help browser doc plot

12 Command window >> doc plot

13 Le variabili Variabile : nome associato ad una entità (scalare, vettore, matrice) che contiene dati. I nomi scelti devono rispettare le seguenti regole di sintassi: 1. possono contenere solo lettere, cifre e il carattere di sottolineatura (“_”); 2. non possono iniziare con una cifra; 3. non si possono utilizzare parole riservate di MATLAB. Matlab è un linguaggio case sensitive, ossia distingue fra lettere maiuscole e minuscole: la variabile A è quindi diversa dalla variabile a. La variabile utilizzata da MATLAB in default è ans.

14 Esempio Introdurre quattro variabili e calcolarne la media:

15

16 Esempi Esempi: a = sqrt(7); Double c = -2+i*8.2Complex Double t = a<1Logical Double q = 'k‘Char

17 Formato di Output L'output può essere visualizzato in diversi modi,pur non influendo sul formato che MATLAB usa per memorizzare ed elaborare i dati.

18 Esempi Esempio: >>y = 9/7 >>format shortdefault: format short 1.28587 >>format short e 1.28587E+000 >>format short g 1.28587 >>format long 1.285871428571429 >>format long e 1.2858714285714286e+000 >>format long g 1.285871428571429 >>format rat 9/7

19 Lo spazio di lavoro L’insieme delle variabili mantenute in memoria durante la sessione MATLAB viene chiamata spazio di lavoro (o workspace). Per aprire il Workspace Browser avete tre possibilità: - selezionare l’opzione Workspace dal menu View nel desktop di MATLAB; - cliccare su Workspace nella scheda Launch Pad; - digitare Workspace nel prompt della finestra comandi.

20 Utilizzando tale browser potete: 1. visualizzare e modificare le variabili dell’area di lavoro (eventualmente cambiandone il formato output); 2. cancellare le variabili dell’area di lavoro; 3. rappresentare graficamente le variabili dell’area di lavoro; 4. salvare l’area di lavoro; 5. caricare un’area di lavoro precedentemente salvata.

21

22 Selezione della cartella di lavoro

23

24 La sessione di lavoro Il comando diary memorizza nel file ASCII la sessione di lavoro (comandi dati e workspace) da quel punto in poi in modo da poterla poi consultare con un qualsiasi editor (es. WORD). Non possiamo però utilizzare il file per ricaricare il lavoro fatto e continuare a lavorarci; per questo si devono utilizzare i comandi save e load.

25 Ogni sessione di lavoro può essere salvata in un file binario (nomefile.mat) mediante il comando save e ricaricata in ambiente MATLAB mediante load Le variabili utilizzate in ogni workspace possono essere consultate semplicemente digitando il nome della variabile stessa.

26 Per visualizzare la lista delle variabili attive nel corrente spazio di lavoro digitate who Per informazioni più dettagliate utilizzate il comando whos Ogni variabile sarà visualizzata insieme allo spazio da essa occupato, al numero di elementi, e al suo tipo.

27

28 Per cancellare la variabile nomevariabile clear Per cancellare tutte le variabili di una sessione di lavoro clear Per pulire il desktop di MATLAB clc

29

30 Altri comandi utili pwd visualizza la directory in cui si sta lavorando dir, o ls elenca i file presenti nella directory cd modifica la directory attuale

31 Operatori Matlab Operatori di base: + addizione - sottrazione / divisione a destra 1/4=4\1=0.25 \ divisione a sinistra ^ elevamento a potenza * moltiplicazione Operatori logici: & and | or ~ not

32 Operatori relazionali: ~ = diverso <= minore uguale < minore >= maggiore uguale > maggiore = = uguale logico

33 Scalari vettori e matrici Una matrice ha dimensione nxm (n righe, m colonne). Un vettore ha dimensione nx1 (vettore colonna) o 1xn (vettore riga). Uno scalare ha dimensione 1x1.

34

35

36 Programmazione Matlab MATLAB non è un vero e proprio linguaggio di programmazione, ma permette comunque di realizzare programmi utilizzando le classiche strutture di programmazione come i cicli, i flussi di controllo e la gestione input/output. Due tipi di programmi, noti come “m-file”, (es. sort.m) –script –function

37 Programmazione MATLAB Per creare un m-file si seleziona New/m-file dal menu File. Script e funzioni vengono quindi inseriti mediante l'editor di MATLAB. Si salva poi il file con il suffisso.m N.B. Assicurarsi di aver selezionato dalla current directory il percorso (path) relativo alla directory (cartella) di lavoro contenente l’m-file.

38 Errori possibili Errori di sintassi nell’uso del linguaggio di programmazione. LEGGERE il messaggio visualizzato in rosso nella Command Window aiuta a capire che tipo di errore è stato fatto. Interruzione dell’esecuzione Sono causati da overflow, divisioni per zero,.. Istruzioni illegali Errori nel risultato Sono causati da errori o nell’algoritmo o nella sua implementazione in MATLAB. Si correggono facendo il “debug” del programma, cioè seguendo il programma istruzione per istruzione, prevedendo il risultato dell’istruzione e controllando, tramite scrittura su video, i valori interessati nell’istruzione (basta eliminare il “;” alla fine dell’istruzione).

39 Script Uno SCRIPT è una lista di comandi MATLAB che può eventualmente richiamare funzioni MATLAB built-in o create utilizzando altri m-file. - Non richiede input - Non fornisce output espliciti - Tutte le variabili usate sono disponibili nel workspace - Simile ad un programma principale -.m file deve essere disponibile nel proprio path corrente Script N.B. Per eseguire i comandi contenuti nello script (cioè richiedere a MATLAB che il file venga interpretato) si richiama semplicemente il suo nome dalla Command Window (senza estensione.m).

40 Esempio Esempio: scrivere uno script che calcola la media fra 4 variabili Scrivere nell’editor lo script a=10; b=20; c=30; d=40; media=(a+b+c+d)/4; Salvare l’m-file come prova.m Eseguire lo script digitando nella Command Window prova

41

42

43 Eseguire lo script digitando nella Command Window prova

44 Function Un m-file che contiene una funzione MATLAB si identifica nella prima riga con la parola function seguita da eventuali parametri di input e di output. Le variabili al suo interno sono viste solo localmente dalla funzione stessa e non dall'eventuale m-file chiamante o dall'ambiente MATLAB che la richiama.

45 Sintassi della function: function y = (argomenti input) y variabile in output Quando invece le variabili output sono più di una, la forma precedente si modifica nel modo seguente: function [y,z] = (argomenti input) Il nome dell'm-file deve essere il nome dato alla funzione, eccetto chiaramente l'estensione.m

46 Esempio di function function [area,perimetro]=quadrato(lato) area=lato*lato; perimetro=lato*4; N.B. Questo file deve essere memorizzato con il nome di quadrato.m

47 Richiamo di una function dal prompt di Matlab

48 Richiamo di una function da uno script matlab

49

50 Input Il comando input interrompe l'esecuzione e richiede un valore da tastiera come input. Una volta inserito il valore, l'm-file continua la sua esecuzione. Il comando echo permette di visualizzare a video i comandi durante la loro esecuzione. Il comando pause interrompe l'esecuzione fino a quando non si digita un tasto, mentre il comando pause(n) mette in pausa l'esecuzione per n secondi.

51

52

53 Echo

54 Disattivazione echo echo off dalla command window

55 Flussi di controllo if elseif else end switch case otherwise end for end while end break

56

57

58

59 if if expression statements end Se l’espressione è vera vengono eseguite le istruzioni contenute tra if ed end.

60 if else end Verificare se il numero inserito e’ pari o dispari

61 if expression1 statements1 elseif expression2 statements2 else statements3 end Se l’espressione 1 è falsa e l’espressione 2 e’ vera, Matlab esegue le istruzioni indicate da statements2, nel caso in cui non sono vere entrambe le espressioni 1 e 2 verranno eseguite le statements3

62 n=input('Introduci il numero n '); if rem(n,2) < 0 disp ( 'il numero è negativo e dispari ' ) elseif rem(n,2) > 0 disp( 'il numero è positivo e dispari ' ) else disp( 'il numero è pari' ) end

63 switch case otherwise end Il comando switch può essere usato nel caso di if multipli:

64 switch rem(n,2) case -1 disp ( 'il numero è negativo e dispari' ) case 1 disp( 'il numero è positivo e dispari' ) otherwise disp( 'il numero è pari' ) end


Scaricare ppt "Matlab MATLAB (MATrix LABoratory) è un ambiente interattivo ad alto livello che consente di costruire e gestire facilmente matrici e, come casi particolari,"

Presentazioni simili


Annunci Google