Introduzione a Matlab -...

Post on 13-Mar-2020

10 views 0 download

transcript

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