Introduzione a Matlab -...

22
1 Lucio Zambon ® 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: r = red, g = green, b = blue, k = black... marcatore: . = punti, o = cerchi... stile: - = solid, : = dotted...

Transcript of Introduzione a Matlab -...

Page 1: Introduzione a Matlab - Altervistaluciozambon.altervista.org/home/students/matlab_2_graph_2008.pdfLucio Zambon 5 Introduzione a Matlab® Grafici – altre configurazioni hold on disegna

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...

Page 2: Introduzione a Matlab - Altervistaluciozambon.altervista.org/home/students/matlab_2_graph_2008.pdfLucio Zambon 5 Introduzione a Matlab® Grafici – altre configurazioni hold on disegna

2Lucio Zambon

®Introduzione a MatlabEsempio di grafico (1)x = [-4:0.1:4]y = x.^2plot(x, y,'r')

Page 3: Introduzione a Matlab - Altervistaluciozambon.altervista.org/home/students/matlab_2_graph_2008.pdfLucio Zambon 5 Introduzione a Matlab® Grafici – altre configurazioni hold on disegna

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+')

Page 4: Introduzione a Matlab - Altervistaluciozambon.altervista.org/home/students/matlab_2_graph_2008.pdfLucio Zambon 5 Introduzione a Matlab® Grafici – altre configurazioni hold on disegna

4Lucio Zambon

®Introduzione a MatlabEsempio di grafico (3)tensione di unalimentatoreHV ad Elettra

Page 5: Introduzione a Matlab - Altervistaluciozambon.altervista.org/home/students/matlab_2_graph_2008.pdfLucio Zambon 5 Introduzione a Matlab® Grafici – altre configurazioni hold on disegna

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

Page 6: Introduzione a Matlab - Altervistaluciozambon.altervista.org/home/students/matlab_2_graph_2008.pdfLucio Zambon 5 Introduzione a Matlab® Grafici – altre configurazioni hold on disegna

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')

Page 7: Introduzione a Matlab - Altervistaluciozambon.altervista.org/home/students/matlab_2_graph_2008.pdfLucio Zambon 5 Introduzione a Matlab® Grafici – altre configurazioni hold on disegna

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

Page 8: Introduzione a Matlab - Altervistaluciozambon.altervista.org/home/students/matlab_2_graph_2008.pdfLucio Zambon 5 Introduzione a Matlab® Grafici – altre configurazioni hold on disegna

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)

Page 9: Introduzione a Matlab - Altervistaluciozambon.altervista.org/home/students/matlab_2_graph_2008.pdfLucio Zambon 5 Introduzione a Matlab® Grafici – altre configurazioni hold on disegna

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

Page 10: Introduzione a Matlab - Altervistaluciozambon.altervista.org/home/students/matlab_2_graph_2008.pdfLucio Zambon 5 Introduzione a Matlab® Grafici – altre configurazioni hold on disegna

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

Page 11: Introduzione a Matlab - Altervistaluciozambon.altervista.org/home/students/matlab_2_graph_2008.pdfLucio Zambon 5 Introduzione a Matlab® Grafici – altre configurazioni hold on disegna

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

Page 12: Introduzione a Matlab - Altervistaluciozambon.altervista.org/home/students/matlab_2_graph_2008.pdfLucio Zambon 5 Introduzione a Matlab® Grafici – altre configurazioni hold on disegna

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'});

Page 13: Introduzione a Matlab - Altervistaluciozambon.altervista.org/home/students/matlab_2_graph_2008.pdfLucio Zambon 5 Introduzione a Matlab® Grafici – altre configurazioni hold on disegna

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')

Page 14: Introduzione a Matlab - Altervistaluciozambon.altervista.org/home/students/matlab_2_graph_2008.pdfLucio Zambon 5 Introduzione a Matlab® Grafici – altre configurazioni hold on disegna

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')

Page 15: Introduzione a Matlab - Altervistaluciozambon.altervista.org/home/students/matlab_2_graph_2008.pdfLucio Zambon 5 Introduzione a Matlab® Grafici – altre configurazioni hold on disegna

15Lucio Zambon

®Introduzione a MatlabAsse Y a destra: esempio

Page 16: Introduzione a Matlab - Altervistaluciozambon.altervista.org/home/students/matlab_2_graph_2008.pdfLucio Zambon 5 Introduzione a Matlab® Grafici – altre configurazioni hold on disegna

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');

Page 17: Introduzione a Matlab - Altervistaluciozambon.altervista.org/home/students/matlab_2_graph_2008.pdfLucio Zambon 5 Introduzione a Matlab® Grafici – altre configurazioni hold on disegna

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

Page 18: Introduzione a Matlab - Altervistaluciozambon.altervista.org/home/students/matlab_2_graph_2008.pdfLucio Zambon 5 Introduzione a Matlab® Grafici – altre configurazioni hold on disegna

18Lucio Zambon

®Introduzione a MatlabEsempio di grafico con asse dei tempi

Page 19: Introduzione a Matlab - Altervistaluciozambon.altervista.org/home/students/matlab_2_graph_2008.pdfLucio Zambon 5 Introduzione a Matlab® Grafici – altre configurazioni hold on disegna

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}

Page 20: Introduzione a Matlab - Altervistaluciozambon.altervista.org/home/students/matlab_2_graph_2008.pdfLucio Zambon 5 Introduzione a Matlab® Grafici – altre configurazioni hold on disegna

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);

Page 21: Introduzione a Matlab - Altervistaluciozambon.altervista.org/home/students/matlab_2_graph_2008.pdfLucio Zambon 5 Introduzione a Matlab® Grafici – altre configurazioni hold on disegna

21Lucio Zambon

®Introduzione a Matlab

Superfici 3Dmesh(X, Y, Z)griglia 3D

surf(X, Y, Z)superfici 3D

Page 22: Introduzione a Matlab - Altervistaluciozambon.altervista.org/home/students/matlab_2_graph_2008.pdfLucio Zambon 5 Introduzione a Matlab® Grafici – altre configurazioni hold on disegna

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)')