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

Post on 01-May-2015

315 views 5 download

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

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)