Sei sulla pagina 1di 8

Grafici di funzione di una

variabile
Listruzione plot(x,y)
Apre una finestra grafica detta figure

Grafica in Matlab

Disegna la spezzata che congiunge i


punti (xi,yi)

Grafici di funzione di una


variabile

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

finestra grafica

Esempio: hold on

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

>>
>>
>>
>>
>>
>>
>>

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

hold on

aprire pi finestre grafiche con listruzione


figure

Dividere una finestra in pi aree grafiche

Per tornare al default:


hold off

subplot

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

subplot(n,m,p)
Divide la finestra in n*m aree
grafiche
Le aree vengono numerate per
colonne
1

Listruzione plot successiva ad


unistruzione suplot modifica la pesima area.

Esempi

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

Esercizi
Creare il grafico delle seguenti
funzioni

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

Ulteriori impostazioni
Spessore della linea
LineWidth

Inserimento di linee o frecce


Interprete linguaggio LaTex
Possibilit di modificare i grafici
usando linterfaccia grafica

Grafici in diverse scale


Quando i valori da rappresentare
hanno una grande variabilit la
scala lineare potrebbe non essere
adeguata

Salvataggio delle figure


Menu file-> save as oppure export
Alcuni formati disponibili
.fig (formato grafici Matlab)
.jpg
.eps

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

Esempio: scala logaritmica

Grafica 3D

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

Grafici di funzioni a 2 variabili

semilogy pone lasse y in scala logaritmica


semilogx pone lasse x in scala logaritmica
loglog pone entrambi gli assi in scala logaritmica

Curve in 3D: plot3

Grafica 3D
Grafici di curve nello spazio
plot3

Superfici
mesh
surf

>>
>>
>>
>>
>>

t = linspace(0,10*pi);
x = cos(t);
y=sin(t);
z = t;
plot3(x,y,z);

Linee di livello
contour

Superfici: frafici di funzioni di 2


variabili
Occorre fornire le ascisse e le ordinate dei
punti del grafico
meshgrid

Esempio: mesh
Crea una griglia

>> x = [ 1 2 3]; y=[ 4 5 6 7];


>> [X,Y] = meshgrid(x,y)
X =
1
1
1
1

2
2
2
2

3
3
3
3

4
5
6
7

4
5
6
7

4
5
6
7

Y =

Esempio: surf

>>
>>
>>
>>
>>
>>

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

Opzioni di grafica in 3D
Punto di vista

Colora le parti di piano


tra un 4 punti

view

Visualizzare e modificare la scala dei


colori
>>
>>
>>
>>
>>
>>

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

colorbar
colormap

Modifica del punto di vista:


view

Visualizzare la scala dei colori:


colorbar

>>colorbar;
>>view(-60,15)

Angolo

Altezza

[Default: -37.5, 30]

Cambiare la scala dei colori:


colormap

Curve di livello: contour

mappe
predefinite
>>
>>
>>
>>

colormap(summer');
colormap('autumn');
colormap('winter');
colormap('pink');

>> contour(X,Y,Z);
[Default: Jet]

>> [c,h]=contour(X,Y,Z);
>> clabel(c,h);

Possibilit di specificare quali livelli riportare contour(X,Y,Z,v)

Istruzioni per la gestione delle


immagini
Lettura di immagine da file
imread

Visualizzazione di un immagine
imshow

Salvataggio di un immagine
imwrite