1Lucio Zambon
®Introduzione a Matlab
Graficiplot(Y) disegna i valori di Y rispetto agli indiciplot(X, Y) disegna i valori di Y rispetto a Xplot(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...
2Lucio Zambon
®Introduzione a MatlabEsempio di grafico (1)x = [-4:0.1:4]y = x.^2plot(x, y,'r')
3Lucio Zambon
®Introduzione a MatlabEsempio 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+')
4Lucio Zambon
®Introduzione a MatlabEsempio di grafico (3)tensione di unalimentatoreHV ad Elettra
5Lucio Zambon
®Introduzione a MatlabGrafici – altre configurazionihold on disegna nuovi grafici sopra quelli vecchigrid on visualizza una grigliasubplot(m,n,p) divide la finestra in una matrice di m per n grafici e utilizza il p-esimo elementoper il prossimo grafico title('text') visualizza il titolo del graficoaxis([xmin xmax ymin ymax]) configura gli assiaxes(propertyname, propertyvalue...) configura varie propietà degli assi
6Lucio Zambon
®Introduzione a MatlabEsempio di grafico (4)X = [-4:0.1:4]Y = X.^2plot(X,Y)grid onhold onY2 = 0.2*X.^3-X;plot(X,Y2,'r')
7Lucio Zambon
®Introduzione a MatlabEsempio di grafico (5)X = [-4:0.1:4]Y = X.^2subplot(2,1,1)plot(X,Y)grid onY2 = 0.2*X.^3-X;subplot(2,1,2)plot(X,Y2,'r')grid on
8Lucio Zambon
®Introduzione a MatlabIstogrammihist(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)
9Lucio Zambon
®Introduzione a MatlabScala logaritmicasemilogx, semilogy e loglog disegna su scala loga-ritmica rispettivamente gli assi X, Y e entrambi X = [-4:0.1:4];Y = abs(X.^3-8*X+5);semilogy(X,Y)grid on
10Lucio Zambon
®Introduzione a MatlabGrafici – altre configurazionixlabel visualizza un'etichetta sull'asse xylabel visualizza un'etichetta sull'asse yannotation(annotationtype) aggiunge un'anno-tazione sotto forma di testo, righe, frecce etc.i tipi fondamentale sono:'rectangle' 'ellipse' 'textbox''line' 'arrow' 'doublearrow''textarrow' = freccia + testo associato
11Lucio Zambon
®Introduzione a MatlabEsempio: 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
12Lucio Zambon
®Introduzione a MatlabEsempio: direzione dei venti load meteots092008axes('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'});
13Lucio Zambon
®Introduzione a MatlabPuntatori ai grafici: HANDLEx = 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')
14Lucio Zambon
®Introduzione a MatlabAsse Y a destraOltre 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')
15Lucio Zambon
®Introduzione a MatlabAsse Y a destra: esempio
16Lucio Zambon
®Introduzione a MatlabAsse dei tempiPer 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 0000Il 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');
17Lucio Zambon
®Introduzione a MatlabEsempio di grafico con asse dei tempiload meteots092008subplot(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 onsubplot(2,1,2)plot (t, E_Giga_TS_molo_pressione_hPa, 'r')datetick('x',20)title('Pressione [hPa]'); grid on
18Lucio Zambon
®Introduzione a MatlabEsempio di grafico con asse dei tempi
19Lucio Zambon
®Introduzione a MatlabFormattazione delle etichetteLa 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}
20Lucio Zambon
®Introduzione a Matlab
Curve 3Dplot3(X, Y, Z)Esempiot=linspace(0,2*pi,1e4);x=sin(2*pi*2*t);y=sin(2*pi*3*t);z=sin(2*pi*4*t);
21Lucio Zambon
®Introduzione a Matlab
Superfici 3Dmesh(X, Y, Z)griglia 3D
surf(X, Y, Z)superfici 3D
22Lucio Zambon
®Introduzione a MatlabEsempio 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)')
Top Related