grafica di base con matlab
DESCRIPTION
Lezioni di grafica di base con il software MatlabTRANSCRIPT
-
1
Grafica in Matlab
Grafici di funzione di una
variabile
Grafici di funzione di una variabile
Listruzione plot(x,y)
Apre una finestra grafica detta figure
Disegna la spezzata che congiunge i punti (xi,yi)
finestra grafica
Esempio: grafico della funzione sinc
Opzioni grafiche della funzione plot
Colore e tratteggio della linea
help plot per le possibili opzioni
es. plot(x,y,:m);
-
2
Osservazione
Ogni nuova istruzione plot, di default
cancella il contenuto precedente della finestra e sovrascrive il nuovo contenuto
E possibile
riportare pi grafici in una stessa finestra tramite il comando hold on
aprire pi finestre grafiche con listruzione figure
Dividere una finestra in pi aree grafiche subplot
Esempio: hold on
>> x = linspace(1e-4,10*pi);
>> y = sin(x)./x;
>> plot(x,y);
>> x1 = linspace(0,10*pi);
>> y1 = sin(x1);
>> hold on;
>> plot(x1,y1);
Per tornare al default: hold off
Esempio: figure
>> x = linspace(1e-4,10*pi);
>> y = sin(x)./x;
>> plot(x,y);
>> x1 = linspace(0,10*pi);
>> y1 = sin(x1);
>> figure, plot(x1,y1);
Esempio: subplot
>> x = linspace(1e-4,10*pi);
>> y = sin(x)./x;
>> subplot(2,1,1); plot(x,y);
>> x1 = linspace(0,10*pi);
>> y1 = sin(x1);
>> subplot(2,1,2); plot(x1,y1,':m');
-
3
Divide la finestra in n*m aree grafiche
Le aree vengono numerate per
colonne
Listruzione plot successiva ad
unistruzione suplot modifica la p-
esima area.
subplot(n,m,p)
1
4
7
2
5
8
3
6
9
Ulteriori opzioni grafiche
Titolo del grafico title(stringa);
Etichetta degli assi xlabel(stringa)
ylabel(stringa)
Legenda legend(stringa1,sringa2,...)
Estremi dellintervallo di visualizzazione axis([xmin,xmax,ymin,ymax])
Esempi
>>x = linspace(1e-4,10*pi);
>>y = sin(x)./x;
>> plot(x,y);
>> xlabel('x'); ylabel('y');
>> title('Grafico della funzione sinc e della funzione seno');
>> x1 = linspace(0,10*pi);
>> y1 = sin(x1);
>> hold on; plot(x1,y1,':m');
>> legend('sinc(x)','sin(x)');
>> axis([0,10*pi,-1,1]);
Esercizi
Creare il grafico delle seguenti
funzioni
-
4
Ulteriori impostazioni
Spessore della linea LineWidth
Inserimento di linee o frecce
Interprete linguaggio LaTex
Possibilit di modificare i grafici
usando linterfaccia grafica
Salvataggio delle figure
Menu file-> save as oppure export
Alcuni formati disponibili
.fig (formato grafici Matlab)
.jpg
.eps
Grafici in diverse scale
Quando i valori da rappresentare
hanno una grande variabilit la
scala lineare potrebbe non essere
adeguata
Esempio: scala lineare
x = linspace(1e-4,20);
y1 = 1./x;
y2 = 1./x.^2;
y3 = 1./x.^3;
plot(x,y1); hold on;
plot(x,y2,-r);
plot(x,y3,-k);
legend(1/x,1/x^2,1/x^3);
-
5
Esempio: scala logaritmica
x = linspace(1e-4,20);
y1 = 1./x;
y2 = 1./x.^2;
y3 = 1./x.^3;
semilogy(x,y1); hold on;
semilogy(x,y2,-r);
semilogy(x,y3,-k);
legend(1/x,1/x^2,1/x^3);
semilogy pone lasse y in scala logaritmica semilogx pone lasse x in scala logaritmica
loglog pone entrambi gli assi in scala logaritmica
Grafica 3D
Grafici di funzioni a 2 variabili
Grafica 3D
Grafici di curve nello spazio plot3
Superfici mesh
surf
Linee di livello contour
Curve in 3D: plot3
>> t = linspace(0,10*pi);
>> x = cos(t);
>> y=sin(t);
>> z = t;
>> plot3(x,y,z);
-
6
Superfici: frafici di funzioni di 2 variabili
Occorre fornire le ascisse e le ordinate dei punti del grafico
meshgrid
>> x = [ 1 2 3]; y=[ 4 5 6 7];
>> [X,Y] = meshgrid(x,y)
X =
1 2 3
1 2 3
1 2 3
1 2 3
Y =
4 4 4
5 5 5
6 6 6
7 7 7
Esempio: mesh
>> x = linspace(-pi,pi);
>> y = linspace(-pi/2,pi/2);
>> [X,Y] = meshgrid(x,y);
>> Z = sin(X.*Y);
>> mesh(X,Y,Z);
>> title('Grafico della funzione sin(xy)');
Crea una griglia
Esempio: surf
Colora le parti di piano tra un 4 punti
>> x = linspace(-pi,pi);
>> y = linspace(-pi/2,pi/2);
>> [X,Y] = meshgrid(x,y);
>> Z = sin(X.*Y);
>> surf(X,Y,Z);
>> title(Superficie della funzione sin(xy)');
Opzioni di grafica in 3D
Punto di vista view
Visualizzare e modificare la scala dei colori colorbar
colormap
-
7
Modifica del punto di vista: view
>>view(-60,15)
Angolo Altezza
[Default: -37.5, 30]
Visualizzare la scala dei colori: colorbar
>>colorbar;
Cambiare la scala dei colori: colormap
>> colormap(summer');
>> colormap('autumn');
>> colormap('winter');
>> colormap('pink');
mappe predefinite
[Default: Jet]
Curve di livello: contour
>> contour(X,Y,Z); >> [c,h]=contour(X,Y,Z);
>> clabel(c,h);
Possibilit di specificare quali livelli riportare contour(X,Y,Z,v)
-
8
Istruzioni per la gestione delle immagini
Lettura di immagine da file imread
Visualizzazione di un immagine
imshow
Salvataggio di un immagine
imwrite