Lez. 3 I grafici in MatLab
|
|
|
- Lia Savino
- 9 anni fa
- Visualizzazioni
Transcript
1 Lez. 3 I grafici in MatLab Prof. Giovanni Mettivier 1 Dott. Giovanni Mettivier, PhD Dipartimento Scienze Fisiche Università di Napoli Federico II Compl. Univ. Monte S.Angelo Via Cintia, I-80126, Napoli [email protected]
2 Per default MATLAB traccia grafici sulla finestra 1 Se si vogliono aprire più finestre grafiche occorre digitare il comando figure (n) dove n definisce il numero della finestra La chiusura della finestra n-esima avviene con il comando close (n) Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 3 figure : crea una nuova finestra per la figura plot(x) : disegna un linea dei valori in base alla loro posizione nel vettore plot(x,y) : disegna una linea con coordinate x e y plot(x,y,'r--') : disegna una linea specificando lo stile, il colore. Etc. Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 4
3 Se x è un vettore contenente le ascisse dei punti di un fissato insieme di coppie del piano e y è il vettore delle corrispondenti ordinate, plot (x,y) disegna la spezzata congiungente tali punti Esempio >> x = [0:pi/200:2*pi]; >> y = sin(x); >> plot (x,y) Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 5 La funzione plot è in grado di tracciare le curve impiegando svariati simboli: Esempio: >> x = [0:0.01: 2*pi]; >> y = sin(x) + cos(2*x); >> plot (x,y, s ) Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 6
4 La sintassi di plot nel caso in cui si vogliano utilizzare simboli, colori o tipi diversi di linee è la seguente: Plot ((x,y, stile ) Linea continua Linea tratteggiata Linea punteggiata : Linea tratto punto -. Punto. Più + Cerchio o Stella * Croce x Quadrato s Rosso r Verde g Blu b Bianco w Invisibile i Esempio: >> plot (x,y, b+: ) Traccia una linea blu e punteggiata, con il simbolo + in corrispondenza di ogni valore) Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 7 Per creare degli assi cartesiani si usa la funzione axis >> axis ([x-min, x-max, y_min, y_max]) >> axis ( string ) Nella prima forma si impongono i limiti inferiore e superiore degli assi cartesiani Nella seconda forma, string indica l aspetto degli assi; Ad esempio: string = square; per avere i due assi uguale string = normal; per sfruttare tutto lo schermo string = auto; restituisce l asse in scala default, in maniera automatica Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 8
5 La funzione hold conserva il riferimento di assi cartesiani e il corrispondente grafico già esistente; il grafico successivo verrà sovrapposto al precedente. Si usa nella forma >> Hold on >> Hold off Esempio >> x = [0:0.01: 2*pi]; >> y = sin(x) + cos(2*x); >> plot (x,y); >> hold on >> plot (x,y, s ) Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 9 E possibille riportare sulla stessa figura più funzioni rappresentate da diverse coppie (x,y) Esempio >> x = [0 : pi/200 : 2*pi]; >> y = sin (x); >> y = sin (x-.40); >> y = sin (x -.8); >> y = sin (x 1.2); >> plot (x,y,x,y2,x,y3,x,y4) Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 10
6 Le istruzioni xlabel, ylabel e title etichettano gli assi e la figura. >> plot(glon,glat) >> xlabel('longitude'),ylabel('latitude') >> title('flight Track : CW ') Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 11 La funzione text permette di scrivere una didascalia sul grafico >> text (x,y, testo ) dove x,y sono le coordinate da cui inizierà il testo, sapendo che (0,0) è l angolo in basso a sinistra e (1,1) quello in alto a destra Esempio >> text (x,y, grafico ); Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 12
7 Grafici tridimensionali sono tipicamente tracciati per mezzo delle funzioni plot3, mesh e surf. La plot3 consente di tracciare una curva nello spazio a partire dalle sue equazioni parametriche. Esempio Dalle equazioni parametriche dell elicoide x = sin t y = cost z = t >> t = [0:pi/50:10*pi]; >> plot3 (sin(t), cos(t), t); Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 13 >> plot3(glon,glat,palt,'linewidth',2) >> grid >> xlabel('longitude'),ylabel('latitude') >> zlabel('altitude (m)') Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 14
8 Il comando subplot(m,n,p) divide la finestra corrente in m righe, n colonne e seleziona la finestra p-esima, Ad esempio: >> subplot (2,2,3) Spezza la finestra in quattro sottofinestre e seleziona quella in basso a sinistra (riga 2, colonna 1) Il comando subplot(m,n,p) deve essere, dunque usato prima del plot, per fornire informazioni sulla sottofinestra in cui visualizzare il grafico desiderato Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 15 >> subplot(2,3,1); >> subplot(2,3,4); P=1 P=2 P=3 n P=4 16 Lez 2 - MATLAB - GRAFICI Giovanni Mettivier m
9 contour(z) contour(z,n) : disegna i bordi di una matrice Z : disegna n bordi (n = integer) contour(z,v) : disegna i bordi di un dato valore specificato da un vettore v contour(x,y,z) : disegna i bordi su una griglia specificata da X e Y Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 17 contourf(z) clabel(c,h) : disegna i contorni con un dato colore : aggiunge etichette ai bordi clabel(c,h,v) : aggiunge etichette solo ai bordi specificati nel vettore v clabel(c,h,'manual') : aggiunge etichette ai bordi nelle locazioni specificate dal mouse Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 18
10 >> peaks; Peaks is an example function, useful for demonstrating 3D data, contouring, etc. Figure above is its default output. P=peaks; - return data matrix for replotting Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 19 >> P = peaks; >> contour(p) Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 20
11 >> contour(p,[-9:0.5:9]) Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 21 >> [C,h]=contour(P); >> clabel(c,h); Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 22
12 >> contourf(p,[-9:0.5:9]); >> colorbar Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 23 Le superfici aono colorate scalando i dati nel range della colormap definita. La colormap si applica a tutta la figura. Esistono molte colormaps predefinite ('jet' (the default), 'warm','cool','copper','bone','hsv'). >> colormap mapname >> colormap('mapname') La corrente colormap può essere conosciuta con >> map=colormap Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 24
13 >> colormap cool Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 25 >> caxis([0 8]) >> colorbar Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 26
14 Le colormap sono semplicemente matrici con 3 colonne di lunghezza arbitraria (default = 64 righe). Ogni riga contiene le componenti [RED GREEN BLUE] del colore richiesto, specificato nella scala 0 1. e.g. >> mymap = [ ] >> colormap(mymap) Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 27 Ogni oggetto grafico ha proprietà che possono essere modificate. es. per una linea: colour, width, line style, marker style, stacking order on plot, Molte proprietà possono essere modificate attraverso una finestra. Gli strumenti utilizzabili dipendono dalla versione che si utilizza. Più utili da usare sono i comandi in linea - più veloci, e possono essere inclusi in scripts o funzioni per automatizzare dei processi. Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 28
15 Object select Add/edit text Add arrow & line zoom 3D rotate Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 29 La funzione ginput fornisce i valori dei punti sezionati dal cursore sul grafico >> [x,y] = ginput(n) seleziona n valori >> [x,y] = ginput seleziona valori fino a quando non è premuto il tasto return NB. ginput lavora sugli assi definiti, e ritornerà valori esterni agli assi visibili se sono selezionati punti esterni al frame. Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 30
16 Il comando >> print invia la figura selezionata alla stampante di default. >> print fn stama la fugura numero n sulla stamapante di default Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 31 Una enorme quantità di file format per la stampa sono supportati; la forma generale è: >> print driver options filename e.g. >> print dps filename print postscript file >> print dpsc filename print colour postscript file >> print depsc filename print colour encapsulated postscript file Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 32
17 >> print djpeg filename print JPEG file (a BAD file format for almost any figure) >> print dpng r200 filename print PNG file at 200dpi. L opzione rnnn specifica la risoluzione di stampa (default = option to specify print 150 dpi) Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 33.png.jpg Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 34
18 Le funzioni hgsave e hgload salvano e caricano una figura da un file.fig questo contiene la descrizione grafica della figura, che può essere poi esere modificata in un secondo momento. NB: le variabili usate per creare la figura non sono salvate. >> hgsave(gcf,'filename') >> hgload('filename.fig') Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 35 Le slides seguenti mostrano lo sviluppo di una figura moderatamente complessa dai dati acquisiti: misurazioni di un aereo a bassa quota della metereologia di base mediate su intervalli di 5 km lungo il volo. Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 36
19 >> load /cw96/jun07/jun07_all_5km_means.mat >> who Your variables are: mq mlat mlon msst mtheta mthetav mu mv mws >> plot(mlon,mlat,'o') >> print -dpng -r100 figures/grid-1-data-points Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 37 >> [XX,YY]=meshgrid([-125.2:0.05:-124],[39.9:0.05:40.8]); >> gmws=griddata(mlon,mlat,mws,xx,yy); >> pcolor(xx,yy,gmws); shading flat; >> hbar=colorbar; >> hold on >> h1=plot(mlon,mlat,'ko'); >> print -dpng -r100 figures/grid-2-wind-field Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 38
20 >> gu=griddata(mlon,mlat,mu,xx,yy); >> gv=griddata(mlon,mlat,mv,xx,yy); >> quiver(xx,yy,gu,gv,'k-'); >> set(h1,'markeredgecolor','r','markersize',5) >> print -dpng -r100 figures/grid-3-wind-field-and-vectors Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 39 >> set(gca,'linewidth',2,'fontweight','bold') >> xlabel('longitude'); ylabel('latitude') >> set(hbar,'linewidth',2,'fontweight','bold') >> set(get(hbar,'xlabel'),'string','(m s^{-1})','fontweight','bold') >> xlabel('longitude'); ylabel('latitude') >> title('cw96 : June 07 : 30m wind field') >> load mendocinopatch.mat >> patch(mendocinopatch(:,1),mendocinopatch(:,2),[ ]) >> print -dpng -r100 figures/grid-4-wind-field-and-vectors-and-coast Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 40
21 % generate movie frames from LEM fields [XX,ZZ]=meshgrid(X,Z(iz)); [YY,ZZ]=meshgrid(Y*0,Z(iz)); ZH=ones([ ])*Z(3); for n=4:33 data1=q012d_k3{n}; data2=q012d_i50{n}(iz,:); surf(x,y,zh,data1);shading flat; set(gca,'xticklabel',{},'yticklabel',{},'zticklabel',{}); set(gca,'xlim',[min(x) max(x)],'ylim',[min(y) max(y)]) hold on surf(xx,yy,zz,data2);shading flat; set(gca,'zlim',[0 max(z(iz))]) Qframes(n-3)=getframe; % NB first n=4, force frames index to hold off % start at 1 to avoid empty frames End % play movie in matlab axis([ ]) set(gca,'visible','off') movie(qframes,5) % save movie to AVI file movie2avi(qframes,'testavi.avi','compression','none') Lez 2 - MATLAB - GRAFICI Giovanni Mettivier 41
INTRODUZIONE A MATLAB
INTRODUZIONE A MATLAB Descrizione Ambiente/Linguaggioper risolvere problemi di calcolo numericomatrix LABoratory; Marchio registrato da MathWorks Inc. (U.S.A.) Puo essere ampliato da pacchetti specifici
UD6 - MATLAB. Gestione della grafica
UD6 - MATLAB Gestione della grafica Grafici MatLab può produrre grafici 2D e 3D Disegnare un Grafico Il comando plot produce grafici in 2 dimensioni; plot(x,y)apre una finestra e disegna il punto (x,y);
MATLAB (3) - Grafica 2 e 3D
Laboratorio di Informatica per Ingegneria elettrica A.A. 21/211 Prof. Sergio Scippacercola MATLAB (3) - Grafica 2 e 3D N.B. le slide devono essere utilizzate solo come riferimento agli argomenti trattati
Rappresentazione di curve in tre dimensioni
Rappresentazione di curve in tre dimensioni Il comando plot3, con la sintassi >>plot3(x,y,z) Analoga al semplice plot, permette di tracciare nello spazio curve i cui punti hanno coordinate rispettivamente
Introduzione a Matlab
Grafici plot(y) disegna i valori di Y rispetto agli indici plot(x, Y) disegna i valori di Y rispetto a X plot(x,y,s) disegna Y rispetto a X con alcune configurazioni contenute nella stringa S: colore:
Grafici in matlab. Un esempio di grafico: xv = 3:0.1:3; yv = xv.^3 5*xv.^2 + 4; plot(xv,yv) xlabel('value of x') ylabel('value of y')
Grafici in matlab Un esempio di grafico: Matlab ha un sacco di funzioni per le rappresentazioni grafiche! Oggi ne vediamo alcune. Per ulteriori informazioni: help graph2d help graph3d Notazione con l operatore
Grafici. Un programma grafico inizia con un comando che chiude una eventuale finestra grafica precedente: close
Grafici MATLAB permette di creare in modo semplice grafici bi- e tri-dimensionali e di corredare tali grafici con una serie di annotazioni utili a renderli chiari ed esplicativi. Un programma grafico inizia
Finestre grafiche. >> figure >> figure(n)
Finestre grafiche MATLAB ha anche la possibilità di lavorare con delle finestre grafiche sulle quali si possono fare disegni bidimensionali o tridimensionali. Una finestra grafica viene aperta con il comando
Introduzione al MATLAB c Parte 2 Funzioni
Introduzione al MATLAB c Parte 2 Funzioni Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 Funzioni matematiche Assegnazione di funzioni 2 Grafico di funzione in
MATLAB - Programmazione - 2. Antonino Polimeno
MATLAB - Programmazione - 2 Antonino Polimeno [email protected] Manipolazione di matrici - 1 Input di matrici Definizione manuale: A = [1, 2, 3; 7, 8, 9] Generazione da funzioni Lettura da file
ESERCITAZIONE MATLAB
ESERCITAZIONE MATLAB Di seguito sono ripostati alcuni esercizi da eseguire in ambiente MatLab. Gli esercizi sono divisi per argomenti. Ogni esercizio è preceduto da una serie di esempi che aiutano nello
Scuola di Calcolo Scientifico con MATLAB (SCSM) 2017
Scuola di Calcolo Scientifico con MATLAB (SCSM) 2017 Palermo 24-28 Luglio 2017 www.u4learn.it Arianna Pipitone Funzioni grafiche di MATLAB I grafici aiutano ad interpretare grandi quantità di dati in modo
FON DAMEN TI DI IN FORMATICA
Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Meccanica & Ingegneria Gestionale Mat. Pari Docente : Ing. Secondulfo Giovanni Anno Accademico 29-21 UNITÀ IV A GRAFICA
Calcolo Numerico I - a.a Laboratorio 3 - Introduzione a MATLAB
Calcolo Numerico I - a.a. 2010-2011 Laboratorio 3 - Introduzione a MATLAB Grafica 2D in Matlab Per tracciare in Matlab il grafico di una funzione y = f(x) per un intervallo assegnato di valori della variabile
Uso avanzato di MATLAB
Uso avanzato di MATLAB Miscione Giuseppe [email protected] Indice Funzioni matematiche Funzioni di arrotondamento Disegnare funzioni Creare script Controllo del flusso di esecuzione 1 Funzioni matematiche
MANUALE MATLAB. Nel manuale proposto ci soffermeremo ad osservare alcune funzioni proposte da Matlab inerenti all attività di laboratorio.
MANUALE MATLAB Nel manuale proposto ci soffermeremo ad osservare alcune funzioni proposte da Matlab inerenti all attività di laboratorio. LOAD: La funzione load serve per caricare dei dati presenti in
L INTERFACCIA GRAFICA DI EXCEL
Dopo l avvio del foglio elettronico apparirà un interfaccia grafica nella quale verrà aperta una nuova cartella di lavoro alla quale il PC assegnerà automaticamente il nome provvisorio di Cartel1. La cartella
Grafici in MATLAB Uso del comando plot() Appunti per l insegnamento di Metodi computazionali per la finanza Anno Accademico 2015/2016
Grafici in MATLAB Uso del comando plot() -------------------------------------------------------------- Appunti per l insegnamento di Metodi computazionali per la finanza Anno Accademico 2015/2016 Riccardo
Matlab: Variabili e Array. Informatica B
Matlab: Variabili e Array Informatica B Array e variabili L unità fondamentale di dati in MATLAB è l array Una variabile in MATLAB è una regione di memoria che contiene un array Ha un nome definito dall
Introduzione a Matlab
INFORMATICA B Ingegneria Elettrica Introduzione a Matlab Introduzione a Matlab Matlab (MATrix LABoratory) è uno strumento per il calcolo scientifico ed ingegneristico Matlab facilita lo sviluppo di programmi
Introduzione al MATLAB c Parte 3 Script e function
Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 M-file di tipo Script e Function Script Function 2 Gestione dell
MATLAB Elementi di grafica Costrutti di programmazione
MATLAB Elementi di grafica Costrutti di programmazione Operazioni punto Le operazioni punto agiscono su array che abbiano le stesse dimensioni:.* prodotto elemento per elemento./ divisione elemento per
Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro;
EXCEL Modulo 3 I Grafici Grafici Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro; Quando si crea un grafico ogni
Figura 1 - Finestra Tabella
Capitolo IV Oggetti Creare una tabella Creare una tabella per inserire dei dati Per inserire una tabella premere il pulsante Tabella presente nella sezione Tabella della barra Inserisci. Viene visualizzata
Lezione PSPICE n.2. Università degli Studi di Napoli Federico II CdL Ing. Elettrica Corso di Laboratorio di Circuiti Elettrici
Università degli Studi di Napoli Federico II CdL Ing. Elettrica Corso di Laboratorio di Circuiti Elettrici Lezione PSPICE n.2 Dr. Carlo Petrarca Dipartimento di Ingegneria Elettrica Università di Napoli
Printer Driver. Questa guida descrive la configurazione del driver stampante per Windows 7, Windows Vista, Windows XP e Windows 2000.
4-129-746-42 (1) Printer Driver Guida per la configurazione Questa guida descrive la configurazione del driver stampante per Windows 7, Windows Vista, Windows XP e Windows 2000. Prima dell utilizzo del
Grafici e Pagina web
Grafici e Pagina web Grafici Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro. Quando si crea un grafico ogni riga
Scilab. Introduzione a Scilab - Vettori. Corso di Informatica CdL: Chimica. Claudia d'amato.
Scilab Corso di Informatica CdL: Chimica Introduzione a Scilab - Vettori Claudia d'amato [email protected] Scilab Introduzione Ambiente matematico e di simulazione numerica sviluppato per la realizzazione
Laboratorio di Matematica Computazionale A.A Lab. 8
Laboratorio di Matematica Computazionale A.A. 2008-2009 1 Grafica 3D 1.1 plot3 linee in 3D Lab. 8 Grafica 3D e interpolazione di Lagrange Il comando plot3(x,y,z) traccia linee in 3D usando una sintassi
