Scaricare la presentazione
1
MATLAB
2
…oggi… Grafica 2D Esercizi Grafica 3D
3
Grafica In MATLAB è possibile Il comando si usa:
disegnare funzioni in 2D e 3D rapprensentare graficamente dei dati Il comando si usa: per rappresentare punti nel piano per disegnare il grafico di una funzione x e y devono essere vettori di ugual misura plot(x,y) MATLAB possiede numerose capacità grafiche che consentono di rappresentare dati memorizzati in vettori e matrici.
4
Esempio - I Per rappresentare dei punti nel piano x = [1 2 3 7 -9 2];
y = [ ]; plot(x,y) figure(2) plot(x,y,'*') Il comando plot(x,y) disegna una spezzata nel piano i vettori x e y hanno la stessa lunghezza (se cosi nn fosse otterremmo un errore)
5
Esempio - II Per “plottare” la funzione y=sin(x) x = [-pi:.01:pi];
definiamo l’intervallo in cui vogliamo disegnare la funzione x = [-pi:.01:pi]; y = sin(x); plot(x,y) definiamo la funzione La funzione plot(x,y) rappresenta graficamente la tabella di valori ottenuta raccordando con segmenti di retta nel piano cartesiano (x;y) i vertici (x(i);y(i)) in modo ordinato al variare di i da x(1) a x(end). Se vogliamo evidenziare i vertici della poligonale possiamo utilizzare l’istruzione plot(x,y,’-g’) che disegna i punti (x(i);y(i))) in verde. La funzione nn cambia, sono i parametri di ingresso che cambiano, il terzo parametro aggiunto serve a specificare lo stile della linea del grafico (pallini in verde) disegniamo la funzione figure(2) plot(x,y, '-g') è possibile inserire un terzo parametro di input
6
Risultati plot(x,y) plot(x,y,’-g’)
7
Sintassi del comando “plot”
x e y sono i vettori dei dati (ascisse e ordinate dei punti) 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)
8
axis([xmin xmax ymin ymax])
Comandi utili - I per creare (richiamare) una finestra grafica per avere più grafici nella stessa finestra hold off per disattivare la funzione per riscalare il grafico figure(num) hold on Il comando hold on fa sovrapporre tutti i grafici successivi nella finestra grafica. Il comando hold off ritorna all’impostazione originale La funzione axis([xmin xmax ymin ymax]) impone che l’intervallo di valori di x sia compreso tra xmin e xmax e quello di y tra ymin e ymax axis equal permette di avere un grafico con assi monometrici axis([xmin xmax ymin ymax]) set, get
9
subplot(righe, colonne, sottofinestra)
Comandi utili - II per creare diversi grafici separati in una stessa finestra per sapere cosa fa una funzione esistono diversi comandi per “abbellire” i grafici title xlabel, ylabel, legend subplot(righe, colonne, sottofinestra) help nome_funzione Nel comando subplot(righe, colonne, sottofinestra) righe e colonne definiscono la struttura della matrice di sottofinestre grafiche all’interno della finestra principale, mentre sottofinestra indicia il numero della sottofinestra grafica attiva. Ad esempio subplot (2,3,1) suddivide la finestra grafica in un 2×3 sottofinestre ed attiva la prima sottofinestra grafica.
10
Esempio Per “plottare” insieme i grafici delle 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')
11
Risultati usando hold on usando subplot
12
Max Trovare il max della funzione nell’intervallo [-2,2]
y = exp(-x.^2).*cos(pi*x); plot(x,y) maximo = max(y);
13
function [y_v] = disegna(n, k)
Esercizio - 1 Creare un m-file funzione di n e k(interi ≠ 0) che nell’intervallo [-n,n] disegni la parabola y = kx2+2k abbia come output il vertice della parabola effettuare il controllo n intero positivo k intero non nullo function [y_v] = disegna(n, k)
14
Esercizio - 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
15
Grafica 3D - I Vogliamo rappresentare la funzione
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);
16
Grafica 3D - II La funzione meshgrid crea 2 matrici X, Y
la i-esima colonna di X contiene i valori x(i) la i-esima riga di Y contiene i valori y(i) Per creare il grafico della funzione Z è una matrix t.c. 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) La rappresentazione grafica realizzata da mesh è l’analogo in più dimensioni del comando plot. In questo caso si raccordano i punti a quattro a quattro con “pezze” piane (parti di piano che passano per i quattro punti). Utilizzando invece la funzione surf le varie pezze vengono colorate opportunamente. In generale il grafico di superfici può essere personalizzato in diversi modi. Le opzioni più comuni sono date dai comandi axis, title, xlabel, ylabel, e zlabel
17
Ecco il grafico surf(X,Y,Z) mesh(X,Y,Z)
18
Esercizio Rappresentare la funzione
nell’intervallo [-2,2]x[-2,2] utilizzando i comandi mesh e surf. f(x,y) = (x - y) sin(x2 + y2)
19
Coniche Disegnare la conica C: 3x2+2xy+3y2+2x2y =0
det(A)=80 conica non degenere det(B)=8>0 ellisse La forma canonica è 4x2+2y2=1
20
…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)
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.