17

Click here to load reader

MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi cenni sulle coniche (?) cenni sulle coniche (?)

Embed Size (px)

Citation preview

Page 1: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi cenni sulle coniche (?) cenni sulle coniche (?)

MATLABMATLAB

Page 2: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi cenni sulle coniche (?) cenni sulle coniche (?)

……oggi…oggi…

Grafica 2DGrafica 2D EserciziEsercizi Grafica 3DGrafica 3D Esercizi Esercizi cenni sulle coniche (?)cenni sulle coniche (?)

Page 3: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi cenni sulle coniche (?) cenni sulle coniche (?)

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 cenni sulle coniche (?) cenni sulle coniche (?)

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 cenni sulle coniche (?) cenni sulle coniche (?)

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 cenni sulle coniche (?) cenni sulle coniche (?)

RisultatiRisultati

plot(x,y,’-g’)

plot(x,y)

Page 7: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi cenni sulle coniche (?) cenni sulle coniche (?)

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 cenni sulle coniche (?) cenni sulle coniche (?)

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

Page 9: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi cenni sulle coniche (?) cenni sulle coniche (?)

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

sublot(righe, colonne, sottofinestra)

help nome_funzione

Page 10: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi cenni sulle coniche (?) cenni sulle coniche (?)

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 cenni sulle coniche (?) cenni sulle coniche (?)

RisultatiRisultati

usando hold on

usando subplot

Page 12: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi cenni sulle coniche (?) cenni sulle coniche (?)

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 cenni sulle coniche (?) cenni sulle coniche (?)

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 controllo su n)(effettuare il controllo su n)

function [y_v] = disegna(n, k)

Page 14: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi cenni sulle coniche (?) cenni sulle coniche (?)

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 15: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi cenni sulle coniche (?) cenni sulle coniche (?)

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 16: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi cenni sulle coniche (?) cenni sulle coniche (?)

Ecco il graficoEcco il grafico

surf(X,Y,Z)

mesh(X,Y,Z)

Page 17: MATLAB. …oggi… Grafica 2D Grafica 2D Esercizi Esercizi Grafica 3D Grafica 3D Esercizi Esercizi cenni sulle coniche (?) cenni sulle coniche (?)

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)