lettura facile

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

i valori negli 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.

il grafico multiplo

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.

come personalizzare il colore

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.

lo spessore della linea

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 personalizzare i simboli

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

un esempio di grafico multiplico con la legenda

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.
un esempio di grafico multiplo con quattro viste diverse

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.

il primo diagramma

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.

il grafico della prima funzione

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

il secondo diagramma cartesiano

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.

i due diagrammi cartesiani

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.
un esempio di grafico multiplo con quattro viste diverse

In questa lezione hai imparato a disegnare un grafico multiplo in un diagramma cartesiano su Matlab.




Non hai risolto il tuo problema? Scrivi una domanda




FacebookTwitterLinkedinLinkedin