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: r = red, g = green, b = blue, k = black... marcatore:. = punti, o = cerchi... stile: - = solid, : = dotted... 1
Esempio di grafico (1) x = [-4:0.1:4] y = x.^2 plot(x, y,'r') 2
Esempio di grafico (2) plot(x,y,s,x2,y2,s2...) Il comando plot può avere un numero arbitrario di terne di parametri X,Y,S. Esempio: x1 = 0:pi/100:2*pi; x2 = 0:pi/10:2*pi; plot(x1,sin(x1),'g:',x2,sin(x2),'r+') 3
Esempio di grafico (3) tensione di un alimentatore HV ad Elettra 4
Grafici altre configurazioni hold on disegna nuovi grafici sopra quelli vecchi grid on visualizza una griglia subplot(m,n,p) divide la finestra in una matrice di m per n grafici e utilizza il p-esimo elemento per il prossimo grafico title('text') visualizza il titolo del grafico axis([xmin xmax ymin ymax]) configura gli assi axes(propertyname, propertyvalue...) configura varie propietà degli assi 5
Esempio di grafico (4) X = [-4:0.1:4] Y = X.^2 plot(x,y) grid on hold on Y2 = 0.2*X.^3-X; plot(x,y2,'r') 6
Esempio di grafico (5) X = [-4:0.1:4] Y = X.^2 subplot(2,1,1) plot(x,y) grid on Y2 = 0.2*X.^3-X; subplot(2,1,2) plot(x,y2,'r') grid on 7
Istogrammi hist(y,n) densità di Y i cui elementi sono raggruppati in n intervalli X = [-4:0.1:4]; Y = 0.2*X.^3+0.1*X.^2-X+5; subplot(1,2,1) plot(x,y) subplot(1,2,2) hist(y,20) 8
Scala logaritmica semilogx, semilogy e loglog disegna su scala logaritmica rispettivamente gli assi X, Y e entrambi X = [-4:0.1:4]; Y = abs(x.^3-8*x+5); semilogy(x,y) grid on 9
Grafici altre configurazioni xlabel visualizza un'etichetta sull'asse x ylabel visualizza un'etichetta sull'asse y annotation(annotationtype) aggiunge un'annotazione sotto forma di testo, righe, frecce etc. i tipi fondamentale sono: 'rectangle' 'ellipse' 'textbox' 'line' 'arrow' 'doublearrow' 'textarrow' = freccia + testo associato 10
Esempio: direzione dei venti Il vento ha direzione fra 0 e 360 gradi (Nord=0, Est=90, Sud=180, Ovest=270) e intensità espressa in m/s 11
Esempio: direzione dei venti load meteots092008 axes('xtick',[0:15:360],'xticklabel',{'n','',30,'',60,'',... 'E','',120,'',150,'','S','',210,'',240,'','W','',300,'',330,'','N'}); hold on; plot(e_giga_ts_molo_direzione_vento_,... E_Giga_TS_molo_velocita_vento_m,'.'); title('vento a Trieste nel mese di settembre 2008'); xlabel('direzione [deg]'); ylabel('velocità [m/s]'); annotation('textarrow',[0.36 0.30],[0.76 0.69],'String',{'BORA'}); annotation('textarrow',[0.44 0.39],[0.46 0.34],'String',{'SCIROCCO'}); annotation('textarrow',[0.64 0.68],[0.53 0.37],'String',{'MAESTRO'}); 12
Puntatori ai grafici: HANDLE x = 1:10; y = x.^3; handle1 = plot(x,y); Il puntatore ad un grafico può essere usato per cambiare alcuni parametri dopo che il grafico è stato creato. Esempio: set(handle1,'color','red') 13
Asse Y a destra Oltre all'asse Y a sinistra (Y1) si può utilizzare un altro asse Y a destra (Y2) mediante il comando plotyy(x1,y1,x2,y2). Esempio: x = 0:0.01:20; y1 = 200*exp(-0.05*x).*sin(x); y2 = 0.8*exp(-0.5*x).*sin(10*x); [AX,H1,H2] = plotyy(x,y1,x,y2); set(get(ax(1),'ylabel'),'string','left Y-axis') set(get(ax(2),'ylabel'),'string','right Y-axis') 14
Asse Y a destra: esempio 15
Asse dei tempi Per utilizzare uno degli assi come asse dei tempi si utilizza il comando datetick(asse,formatodata) asse = 'x', 'y' o 'z'; formatodata descrive come visualizzare la data, ad esempio 20 = 'dd/mm/yy' Le date sono i giorni a partire dal 1 gennaio 0000 Il tempo standard Unix conta i secondi dal 01/01/1970, per la conversione si usa la funzione datenum(data) t = unixtime / 86400 + datenum('01/01/1970'); 16
Esempio di grafico con asse dei tempi load meteots092008 subplot(2,1,1) t = time / 86400 + datenum('01/01/1970'); plot (t, E_Giga_TS_molo_temperatura_C) datetick('x',20) title('temperatura [C]'); grid on subplot(2,1,2) plot (t, E_Giga_TS_molo_pressione_hPa, 'r') datetick('x',20) title('pressione [hpa]'); grid on 17
Esempio di grafico con asse dei tempi 18
Formattazione delle etichette La formattazione delle etichette utilizza la sintassi di alcuni comandi TeX (linguaggio di markup, pronunciato tech) Alcuni esempi: \alpha α \leq \Delta Δ \bf grassetto \pi π \fontname{fontname} \surd \fontsize{fontsize} 19
Curve 3D plot3(x, Y, Z) Esempio t=linspace(0,2*pi,1e4); x=sin(2*pi*2*t); y=sin(2*pi*3*t); z=sin(2*pi*4*t); 20
Superfici 3D mesh(x, Y, Z) griglia 3D surf(x, Y, Z) superfici 3D 21
Esempio SURF [X,Y] = meshgrid(-10:0.25:10,-10:0.25:10); R = sqrt((x/pi).^2+(y/pi).^2); f = sin(pi*r)./(pi*r); surf(x,y,f); axis([-10 10-10 10-0.3 1]) xlabel('{\bfx}') ylabel('{\bfy}') zlabel('{\bfsin}({\pi} R)/({\pi} R)') 22