Guida a Matlab - Corso base - Capitolo 8: grafici 2D con plot, subplot, semilogy; etichette per grafici ed assi, legende
Capitolo 8: Grafici 2D con plot, subplot, semilogy; etichette per grafici ed assi, legende.
Con Matlab è possibile generare velocemente dei grafici visualizzabili a video.
Per generare un grafico, è necessario predisporre un vettore di valore per la X e un vettore di valori per la Y, dopodichè bisognerà utilizzare l'istruzione:
plot(vettoreValoriX, vettoreValoriY, [eventuale definizione del tratto e del colore]).
Il terzo parametro (opzionale) di questa istruzione permette di definire come disegnare la curva nel grafico, impostando il colore della curva e "cosa" disegnare; l'elenco dei possibili valori è abbastanza lungo, per cui si rimanda all'help online del comando plot.
Per fornire un'etichetta testuale all'asse delle X, all'asse delle Y o al grafico stesso, utilizzare:
>> xlabel ('Etichetta asse x');
>> ylabel ('Etichetta asse y');
>> title ('Titolo del grafico');
Esempio pratico (potete ricopiarlo così com'è nella vostra Command Window e premere Invio per eseguirlo):
>> t = 0 : 0.01 : 2*pi;
>> x = cos(t);
>> y = sin(t);
>> plot(x,y, 'b*');
Eseguito così, plot mostrerà una sola curva per volta; per visualizzare più curve nello stesso grafico, utilizzare il comando hold on.
Esempio di più curve in un plot (ricopiate nella vostra Command Window e premete Invio):
>> t = 0 : 0.01 : 2*pi;
>> x = cos(t);
>> y = sin(t);
>> plot(x,y, 'b*');
>> hold on;
>> x2 = 1:5;
>> y2 = x2*2;
>> plot(x2, y2, 'g+');
In genere, Matlab scalerà gli assi - o ne visualizzerà solo una porzione - per rendere il grafico ben visibile; per mantenere gli assi uguali, digitare:
>> axis equal
dopo l'istruzione di plot.
Per utilizzare una scala logaritmica (base 10) per l'asse delle Y utilizzare, al posto di plot, l'istruzione:
>> semilogy(vettoreValoriX, vettoreValoriY, [eventuale definizione del tratto e del colore]).
per cui il nostro script di prima diventerà , ad esempio:
>> t = 0 : 0.01 : 2*pi;
>> x = cos(t);
>> y = sin(t);
>> semilogy(x,y, 'b*');
>> hold on;
>> x2 = 1:5;
>> y2 = x2*2;
>> semilogy(x2, y2, 'g+');
E' possibile visualizzare più finestre di plot o semilogy all'interno di un'unica finestra di output Matlab, mediante subplot.
L'istruzione:
subplot(M, N, K);
crea una figura contenente M*N grafici (M righe per N colonne), mentre K indica che le istruzioni CHE SEGUONO si riferiscono al K-esimo grafico tra quelli da mostrare a video (nel numerare i grafici di una finestra subplot, si parte da 1 considerando come "primo" il grafico in alto a sinistra e si scorrono le righe da sinistra a destra, riga per riga); esempio pratico (copiatelo nella vostra Command Window e premete Invio):
>> t = 0 : 0.01 : 2*pi;
>> x1 = cos(t);
>> y1 = sin(t);
>> x2 = 1:5;
>> y2 = x2*2;
>> x3 = 2:10;
>> y3 = x3/3;
>> x4 = 3:8;
>> y4 = x4*3/2;
>> subplot(2, 2, 1);
>> plot(x1, y1, 'gP');
>> subplot(2, 2, 2);
>> plot(x2, y2, 'b*');
>> subplot(2, 2, 3);
>> plot(x3, y3, 'r-');
>> subplot(2, 2, 4);
>> plot(x4, y4);
Da notare che le finestre di output mostrate da Matlab per plot, semilogy e subplot mettono a disposizione il tasto 'salva', per salvare i grafici generati sotto forma di immagini in formato .fig, e il tasto 'stampa', appunto per stampare i grafici.
|