MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi.

20
MATLAB MATLAB

Transcript of MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi.

Page 1: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi.

MATLABMATLAB

Page 2: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi.

……oggi…oggi…

Grafica 2DGrafica 2D EserciziEsercizi Grafica 3DGrafica 3D Esercizi Esercizi

Page 3: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 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)

Page 4: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi.

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

Page 5: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi.

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

Page 6: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi.

RisultatiRisultati

plot(x,y,’-g’)

plot(x,y)

Page 7: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi.

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)

Page 8: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi.

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

Page 9: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi.

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

Page 10: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi.

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

Page 11: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi.

RisultatiRisultati

usando hold on

usando subplot

Page 12: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi.

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

Page 13: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi.

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)

Page 14: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi.

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

Page 15: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi.

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

Page 16: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi.

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)

Page 17: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi.

Ecco il graficoEcco il grafico

surf(X,Y,Z)

mesh(X,Y,Z)

Page 18: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi.

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)

Page 19: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi.

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

Page 20: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi.

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