Sei sulla pagina 1di 11

lab10(grafici) lab10(grafici)

Grafici in matlab Un esempio di grafico:

 Matlab ha un sacco di funzioni per le Notazione con xv = –3:0.1:3;


rappresentazioni grafiche! l’operatore “:” yv = xv.^3 – 5*xv.^2 + 4;
e operazioni Uso standard del
 Oggi ne vediamo alcune. plot(xv,yv)
elemento per comando plot
elemento xlabel('value of x')
 Per ulteriori informazioni: ylabel('value of y') Per annotare
help graph2d title(TITOLO')
help graph3d text(0,1, Scritta nel grafico')

1 2

lab10(grafici) lab10(grafici)

 Matlab mette a disposizione dei comandi


Il default è interattivi per modificare il grafico
“figure1”,
linea blu e
sottile

Gli assi sono


scalati in
automatico

3 4
lab10(grafici) lab10(grafici)

Click sulla freccia per modificare O anche le linee:

Click destro -> properties su una parte della figura per modificarla

5 6

lab10(grafici) lab10(grafici)

 In pratica, il property editor è simile agli


strumenti di excel però... Specifiche di Linea
– È limitato ad una singola figura
– Ripeterlo per ogni nuovo grafico è noioso
plot(x,y, ' r : d ' )

 La funzione plot mette a disposizione degli


argomenti addizionali per modificare da riga
di comando: rosso
plot(x,y, 'linespec' , 'Propname' , PropValue )
– Specifiche di linea: colore, tipo di linea, punti dei punteggiata
dati
Rombi
– Proprietà e valore: spessore, dimensione ecc.
(diamonds)

7 8
lab10(grafici) lab10(grafici)

Forma Generale: plot(x,y, '  ') Proprietà e valori

plot(x,y, 'linewidth',5 )
Colore: Simbolo: Tipo Linea:
k black . point - solid
r red o circle : dotted
Lo spessore
b blue x x-mark -- dashed
della linea è
g green s square -. dash-dot
5 punti
y yellow d diamond
c cyan Etc ( +, * ,
w white ^,>,< L’ordine non è
,v, p,h).
m magenta importante!
9 10

lab10(grafici) lab10(grafici)

 Esempio:
Forma Generale: plot(x,y, '',value) plot(x,y, '- k o' , 'LineWidth' , 3 , 'MarkerSize', 6,…
'MarkerEdgeColor','red','MarkerFaceColor','green')

Proprietà:
linewidth Valore: dipende dalla proprietà
markersize Dimensioni in punti
markeredgecolor Colori
markerfacecolor
Possono esserci
coppie multiple !

11 12
lab10(grafici) lab10(grafici)

Più grafici negli stessi assi

 Possiamo disegnare
diversi grafici sugli
stessi assi:

I colori cambiano…
13 14

lab10(grafici) lab10(grafici)

 Possiamo usare hold Attenzione…


per “congelare” il
grafico  Se passiamo delle matrici:
plot(x_matrice, y_matrice)
– Grafico colonna per colonna
– Cambia i colori ogni volta

 Per un argomento singolo, plot(x):


– Reale/immaginario se x è complesso
– x/indice se x è reale
Notare i colori adesso!
15 16
lab10(grafici) lab10(grafici)

Altri due comandi utili


Aggiungere del testo

 figure  Conosciamo già:


– Da solo apre una nuova finestra – xlabel( 'string' )

– figure(n) ci porta alla finestra n-esima – ylabel( 'string' )


– title( 'string' )
– text( x, y, 'string' )
 ginput(1)
– Crea un mirino sulla figura  In più:
– gtext( 'string' ) – controllato dal puntatore
– restituisce la posizione (x,y) al click del mouse
– legend( 'string1', … 'stringn', loc)
– ginput(n) restituisce n coppie di coordinate

17 18

lab10(grafici) lab10(grafici)

 Ci sono lettere greche, apici e pedici


 Es. gtext( '\beta_1 x^2' )

19 20
lab10(grafici) lab10(grafici)

 E possimao modificare l’aspetto del testo


 Es. Gli assi
gtext( 'cosine' , 'fontsize', 20, 'rotation', 45,
'color' , 'red', )  Possiamo aggiungere una griglia
grid
 O settare i limiti degli assi:
axis( [ xmin xmax ymin ymax ] )

21 22

lab10(grafici) lab10(grafici)

 Es.  Possiamo fare dei


grafici logaritmici:
semilogx(x,y)
semilogy(x,y)
loglog(x,y)

 I dati negativi
vengono ignorati

23 24
lab10(grafici) lab10(grafici)

Figure Files Per esportare le figure

 Save per salvare il file .fig  Stampare:  Copia (per incollare)

25 26

lab10(grafici) lab10(grafici)

Subplot: una figura, più assi Altri tipi di grafici 2-D - Polari
90 2
subplot(2,2,1) x = 1:100; 120 60
1.5
plot(x1,y1) r = log10(x);
1
t = x/10; 150 30
subplot(2,2,2) 0.5

etc. polar( t, r )
180 0

I parametri sono:
Ampiezza 210 330
numero di righe,
niumero di colonne,
Angolo in radianti 240 300
27 settore scelto 28 270
lab10(grafici) lab10(grafici)

 Vertical and horizontal bar plots, stem and


 Istogrammi:
stair plots, pie and compass plots:
1
1 9%
14%
0.9
0.9
0.8
0.8
0.7
0.7
0.6
0.6
0.5 18%
0.5
0.4
0.4
36%
0.3
0.3
0.2
0.2
0.1
0.1
0
-1.5 -1 -0.5 0 0.5 1 1.5 0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 23%

90 1.5
1.5 1
120 60

1
0.9 1

150 30
0.8 0.5
0.5

0.7
0 180 0
0.6

-0.5
0.5
210 330
-1
0.4

-1.5 240 300


0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0.3
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 270

29 30

lab10(grafici) lab10(grafici)

40

Inoltre… 30

20
40

20
10
0

 Specifiche di linea, proprietà, assi, griglie… 0


1
-1

-0.5 -0.5
-1

0.5 1

funzionano con gran parte dei tipi di grafico 0


-0.5 -0.5
0
0.5 0

0.5 0.5
0

-1 -1
 Molti di questi strumenti hanno funzioni 1 1

extra… usate l’ help!!! 1

0.5

 Possiamo anche fare dei grafici 3-D! -0.5

-1
2
1 2
0 1
0
-1 -1

31 32 -2 -2
lab10(grafici) lab10(grafici)

Grafici 3-D La curva x = e-0.05t sin t, y = e-0.05t cos t, z = t ,


disegnata con plot3

Per tracciare una linea ( x,y,z=f(t) ) in un


diagramma tridimensionale usiamo la
plot3:

>>t = [0:pi/50:10*pi];
>>plot3(exp(-0.05*t).*sin(t),...
exp(-0.05*t).*cos(t),t),...
xlabel(’x’),ylabel(’y’),zlabel(’z’),grid

33 34

lab10(grafici) lab10(grafici)

Superfici Funzione z = xe−[(x−y


2)2+y2]

Funzione z = xe−[(x−y2)2+y2],
per −2 ≤ x ≤ 2 and −2 ≤ y ≤ 2, con intervallo 0.1.

>>[X,Y] = meshgrid(-2:0.1:2);
>>Z = X.*exp(-((X-Y.^2).^2+Y.^2));
>>mesh(X,Y,Z),xlabel(’x’),ylabel(’y’),...
zlabel(’z’)

35 36
lab10(grafici) lab10(grafici)

Funzione Descrizione
Disegno dei contorni contour(x,y,z) Contorni.

>>[X,Y] = meshgrid(-2:0.1:2); mesh(x,y,z) Superficie 3D (griglia).


>>Z = X.*exp(-((X- Y.^2).^2+Y.^2));
>>contour(X,Y,Z),xlabel(’x’),ylabel(’y’) meshc(x,y,z) Come mesh ma con i contorni sotto.

meshz(x,y,z) Come mesh ma disegna linee verticali ai bordi

surf(x,y,z) Superficie sfumata 3D.

surfc(x,y,z) Come surf ma con i contorni.

[X,Y] = meshgrid(x,y) Crea le matrici X e Y dai vettori x e y per definire la griglia

[X,Y] = meshgrid(x) Come [X,Y]= meshgrid(x,x).

waterfall(x,y,z) Come mesh ma disegna linee solo in una direzione.


37 38

lab10(grafici) lab10(grafici)

4 varianti per z = xe−(x2+y2) : meshc, meshz, and waterfall.  Ancora…


a) mesh, b) meshc, c) meshz, d) waterfall – Manipolare i grafici (set) …

39 40
lab10(grafici)

– GUIs – interfacce di alto livello

41

Potrebbero piacerti anche