matlab. …oggi… grafica 2d grafica 2d esercizi esercizi grafica 3d grafica 3d esercizi esercizi
TRANSCRIPT
MATLABMATLAB
……oggi…oggi…
Grafica 2DGrafica 2D EserciziEsercizi Grafica 3DGrafica 3D Esercizi Esercizi
GraficaGrafica In MATLAB è possibile In MATLAB è possibile
disegnare funzioni in 2D e 3D disegnare funzioni in 2D e 3D rapprensentare graficamente dei datirapprensentare graficamente dei dati
Il comandoIl comando
si usa:si usa: per rappresentare punti nel piano per rappresentare punti nel piano per disegnare il grafico di una funzione per disegnare il grafico di una funzione
x e y devono essere vettori di ugual x e y devono essere vettori di ugual misuramisura
plot(x,y)
Esempio - IEsempio - I Per rappresentare dei punti nel pianoPer rappresentare dei punti nel piano
x = [1 2 3 7 -9 2];
y = [-2 -6 1 5 7 2];
plot(x,y)
figure(2)
plot(x,y,'*')
Esempio - IIEsempio - II Per “plottare” la funzione Per “plottare” la funzione y=sin(x)y=sin(x)
x = [-pi:.01:pi];
y = sin(x);
plot(x,y)
definiamo l’intervallo in cui vogliamo disegnare la
funzione definiamo la funzione
disegniamo la funzione
figure(2)
plot(x,y, '-g')è possibile inserire un terzo
parametro di input
RisultatiRisultati
plot(x,y,’-g’)
plot(x,y)
Sintassi del comando Sintassi del comando “plot”“plot”
x e y sono i vettori dei dati (ascisse e x e y sono i vettori dei dati (ascisse e
ordinate dei punti)ordinate dei punti)
x e y come sopra; opzioni x e y come sopra; opzioni è una stringa
opzionale che definisce il tipo di colore, di simbolo e di linea usato nel grafico.
• help plot per vedere quali sono le varie opzioni
realizza il grafico del vettore y rispetto ai
propri indici
plot(x, y)
plot(x, y, 'opzioni')
plot(y)
Comandi utili - IComandi utili - I
per creare (richiamare) una finestra per creare (richiamare) una finestra grafica grafica
per avere più grafici nella stessa finestraper avere più grafici nella stessa finestra hold off per disattivare la funzionehold off per disattivare la funzione
per riscalare il graficoper riscalare il grafico
figure(num)
hold on
axis([xmin xmax ymin ymax])
set, get
Comandi utili - IIComandi utili - II
per creare diversi grafici separati in una per creare diversi grafici separati in una stessa finestra stessa finestra
per sapere cosa fa una funzioneper sapere cosa fa una funzione
esistono diversi comandi per “abbellire” i esistono diversi comandi per “abbellire” i graficigrafici titletitle xlabel, ylabel, legend xlabel, ylabel, legend
subplot(righe, colonne, sottofinestra)
help nome_funzione
EsempioEsempio
Per “plottare” insieme i grafici delle Per “plottare” insieme i grafici delle funzioni seno e coseno funzioni seno e coseno figure(1); hold on; grid on
y2 = cos(x);
plot(x,y2,’r’)
title(‘seno e coseno’)
% creiamo delle sottofinestre
figure(3); subplot(1,2,1); plot(x,y); title('seno')
subplot(1,2,2); plot(x,y2); title('coseno')
RisultatiRisultati
usando hold on
usando subplot
MaxMax
Trovare il max della funzioneTrovare il max della funzione
nell’intervallo [-2,2]nell’intervallo [-2,2]
)cos()(2
xexf x
x = [-2:.05:2];
y = exp(-x.^2).*cos(pi*x);
plot(x,y)
maximo = max(y);
Esercizio - 1Esercizio - 1 Creare un m-file funzione di n e k(interi Creare un m-file funzione di n e k(interi
≠ 0)≠ 0)
che che nell’intervallo [-n,n] disegni la parabola nell’intervallo [-n,n] disegni la parabola
y = kxy = kx22+2k+2k abbia come output il vertice della parabola abbia come output il vertice della parabola effettuare il controlloeffettuare il controllo
• n intero positivon intero positivo• k intero non nullok intero non nullo
function [y_v] = disegna(n, k)
Esercizio - 2Esercizio - 2 Consideriamo per ogni kR+ la funzione
seguente
Costruire un m-file funzione di k che determini il dominio di f(x) disegni il grafico di f(x) nell’intervallo [0,2] abbia come output il punto di punto di
minimo e il valore del minimo (nell’intervallo [0,2]) con un’approssimazione di 0.02
xkkxxf 3)(
Grafica 3D - IGrafica 3D - I Vogliamo rappresentare la funzioneVogliamo rappresentare la funzione
nel dominio rettangolare nel dominio rettangolare [0,1]x[0,1]. Per rappresentare la superficie
dobbiamo costruire una matrice in corrispondenza della quale valutare la funzione
per costruire la griglia si usa il comando
f(x,y) = x(1 − x)y(1 − y)
x = [0:.025:1];
y = [0:.025:1];
[X Y] = meshgrid(x,y);
Grafica 3D - IIGrafica 3D - II La funzione meshgrid crea 2 matrici La funzione meshgrid crea 2 matrici X, YX, Y
la i-esima colonna di X contiene i valori x(i)la i-esima colonna di X contiene i valori x(i) la i-esima riga di Y contiene i valori y(i)la i-esima riga di Y contiene i valori y(i)
Per creare il grafico della funzionePer creare il grafico della funzione
Z Z è una matrix t.c. è una matrix t.c. Z(i,j)=f(X(i,j), Y(i,j))Z(i,j)=f(X(i,j), Y(i,j))
Z = X.*(1-X).*Y.*(1-Y);
surf(X,Y,Z);
xlabel('x');ylabel('y');zlabel('z');
figure(2); mesh(X, Y, Z)
Ecco il graficoEcco il grafico
surf(X,Y,Z)
mesh(X,Y,Z)
EsercizioEsercizio Rappresentare la funzioneRappresentare la funzione
nell’intervallo nell’intervallo [-2,2]x[-2,2] [-2,2]x[-2,2] utilizzando i utilizzando i comandi mesh e surf.comandi mesh e surf.
f(x,y) = (x - y) sin(x2 + y2)
ConicheConiche Disegnare la conica C: 3x2+2xy+3y2+2x2y
=0
31
13B A
011
131
113
det(A)=80 conica non degenere
det(B)=8>0 ellisse
La forma canonica è 4x2+2y2=1
……per disegnarla…per disegnarla…
[x,y]=meshgrid(-5:.2:5, -5:.2:5);
z=3.*x.^2+2.*x.*y+3.*y.^2+2.*x-2.*y;
[C,h]=contour(z)
clabel(C,h)