
Come fare un grafico multiplo su Matlab
In questa lezione online ti spiego come disegnare due o più grafici nella stessa area grafica di Matlab, sovrapposti nello stesso diagramma (vista singola) o in diagrammi diversi (vista multipla).
Ci sono due modi diversi per disegnare i grafici multipli su Matlab.
I grafici multipli con vista singola
Ti faccio un esempio pratico
Crea un array con dieci numeri interi in una sequenza crescente da 1 a 10.
Digita il comando x = linspace(1,10,10)
>> x = linspace(1,10,10)
x = 1 2 3 4 5 6 7 8 9 10
Ora crea due array y1 e y2 con i valori di due funzioni diverse
$$ y1=f(x) =x^2 $$ $$ y2=g(x) =x^3 $$
La prima funzione y1 calcola il quadrato dei valori x.
Digita y1=x.^2 per creare l'array della funzione.
>> y1=x.^2;
La seconda funzione y2 calcola il cubo dei valori x.
Digita y2=x.^3 per creare l'array anche di questa funzione.
>> y2=x.^3
Gli array y1 e y2 (codomini) sono composti da dieci numeri perché sono le immagini dell'array x (dominio).
Ecco il contenuto degli array x, y1 e y2
A questo punto disegna i grafici delle due funzioni tramite la funzione plot()
plot(x,y1,x,y2)
In questo caso devi scrivere quattro parametri nella funzione plot.
- x,y1 per disegnare il grafico della funzione y1
- x,y2 per disegnare il grafico della funzione y2
Matlab disegna un grafico multiplo con due linee sovrapposte nello stesso diagramma cartesiano. Una per ogni funzione.
Una linea è il grafico del quadrato di x mentre l'altra è il grafico del cubo di x.
Nota. Allo stesso modo puoi tracciare tre o più funzioni nello stesso grafico. In questo caso dovrai inserire sei parametri per disegnare tre grafici, otto parametri per disegnare quattro grafici, ecc.
Ogni linea del grafico è colorata con un colore diverso scelto da Matlab.
Se vuoi puoi cambiare i colori delle linee
Per modificare i colori dei grafici utilizza questi codici nell'opzione color dell'istruzione plot()
- red
- green
- blue
- cyan
- magenta
- yellow
- black
- white
- none
Ad esempio, per fare una linea rossa (codice 1) e l'altra nera (codice 0) digita
>> clf
>> hold on
>> plot(x,y1,'Color', 'red')
>> plot(x,y2,'Color', 'black')
>> hold off
L'istruzione clf pulisce lo schermo mentre l'istruzione hold on modifica il grafico senza cancellare il contenuto già presente.
La proprietà Color ti permette di scegliere e personalizzare i colori dei grafici.
Per modificare lo spessore delle singole line utilizza la proprietà Linewidth.
Ad esempio, disegna la linea rossa con uno spessore maggiore
>> clf
>> hold on
>> plot(x,y1,'Color', 'red', 'Linewidth', 3)
>> plot(x,y2,'Color', 'black')
>> hold off
Adesso nel grafico la linea rossa ha uno spesso maggiore rispetto a quella nera.
Puoi anche modificare il simbolo dei marker usati per rappresentare i punti di ogni funzione.
Sono ammessi come marker i caratteri x, +, -, o
Ad esempio, per associare il simbolo + alla prima funzione e il simbolo x alla seconda funzione digita
>> clf
>> hold on
>> plot(x,y1,'+','Color', 'red', 'Linewidth', 2)
>> plot(x,y2,'x','Color', 'black', 'Linewidth', 2)
>> hold off
Matlab disegna il grafico mostrando i punti delle due funzioni nel diagramma cartesiano senza congiungerli con una linea spezzata.
Ogni funzione usa il marker che hai indicato.
Come aggiungere una legenda
Per visualizzare una legenda vicino al grafico usa la funzione legend()
Indica tra le parentesi tonde le etichette di ogni grafico seguendo lo stesso ordine
Ad esempio, digita
plot(x,y1,x,y2)
legend('f(x)=x^2', 'g(x)=x^3');
Matlab mostra la legenda vicino al grafico
I grafici multipli con vista separata
Su Matlab puoi anche disegnare i grafici con vista separata.
Cos'è un grafico multiplo con vista separata? L'area grafica viene suddivisa in due o quattro sezioni. Ogni sezione contiene al suo interno un grafico. In questo modo puoi visualizzare i grafici di più funzioni senza sovrapporli tra loro, usando diversi diagrammi più piccoli anziché un solo grande diagramma.
Ti faccio un esempio pratico.
Crea un array x con 100 elementi e due array di funzioni diverse y1 e y2.
>> x=linspace(1,100,100);
>> y1=x.^2;
>> y2=log(x);
Dividi l'area grafica usando il comando subplot(righe, colonne, indice).
Dove le righe e le colonne sono utili per dividere l'area mentre l'indice è la posizione del grafico.
Il primo grafico ha l'indice uguale a uno. Il secondo grafico ha l'indice uguale a due. E via dicendo.
Ad esempio, per visualizzare due grafici indica una sola riga e due colonne.
>> subplot(1,2,1)
Il comando subplot(1,2,1) disegna il primo diagramma cartesiano (indice=1) sulla prima riga e prima colonna.
Digita plot(x,y1) per disegnare il grafico della funzione y1
>> plot(x,y1)
Il grafico viene visualizzato nel primo diagramma cartesiano della vista multipla.
Ora digita sublot(1,2,2) per passare al secondo diagramma cartesiano (riga=1, colonna=2, indice=2)
>> subplot(1,2,2)
Il comando visualizza un secondo diagramma cartesiano vicino al precedente.
Si trova sulla stessa riga (riga=1) ma alla colonna successiva (colonna=2).
A questo punto digita plot(x,y2) per disegnare il grafico della funzione y2
>> plot(x,y2)
Il grafico viene disegnato nel secondo diagramma della vista multipla.
II due grafici sono visualizzati nella stessa area grafica ma in due diagrammi cartesiani separati tra loro.
Nota. Puoi costruire viste multiple anche con più diagrammi. Ad esempio, dividi l'area grafica in due righe e due colonne digitando subplot(2,2,1), subplot(2,2,2), subplot(2,2,3), subplot(2,2,4).
>> clf
>> subplot(2,2,1)
>> plot(x,y1)
>> subplot(2,2,2)
>> plot(x,y3)
>> subplot(2,2,3)
>> plot(x,y2)
>> subplot(2,2,4)
>> plot(x,y4)
In questo modo puoi visualizzare quattro grafici simultaneamente nella stessa area grafica, in diagrammi diversi e senza sovrapposizione.
In questa lezione hai imparato a disegnare un grafico multiplo in un diagramma cartesiano su Matlab.