lettura facile

Come fare un grafico su Matlab

In questa lezione ti spiego come fare un grafico 2D su Matlab.

Per seguire questa lezione devi già sapere cos'è e come si crea un array. In caso contrario, ti consiglio di dare prima un'occhiata alla lezione sugli array su Matlab

Crea un array x scrivendo una sequenza di numeri da 1 a 6.

Digita X = [ 1 2 3 4 5 6 ] sulla riga di comando e dai invio

>> X = [ 1 2 3 4 5 6 ]
x =
1 2 3 4 5 6

Questi valori sono le proiezioni dei punti del grafico sull'asse delle ascisse (x), l'asse orizzontale del diagramma cartesiano.

i punti sull'asse delle ascisse

Adesso, crea un altro array Y per indicare le proiezioni dei punti sull'asse delle ordinate (y), l'asse verticale del diagramma cartesiano.

Digita Y=X.^2 sulla riga di comando e premi invio

>> Y=X.^2
Y =
1 4 9 16 25 36

Matlab legge i valori dell'array X, calcola il quadrato di ciascun valore e lo memorizza nell'array Y.

$$ 1^1 = 1 \\ 2^2 = 4 \\ 3^2 = 9 \\ 4^2 = 16 \\ 5^2 = 25 $$

Questi punti sono le proiezioni sull'asse verticale del diagramma cartesiano

il diagramma cartesiano

A questo punto hai due array X e Y che formano le coordinate (x,y) dei punti del grafico.

Digita plot(X,Y) per disegnare il grafico tramite una linea spezzata.

>> plot(X,Y)

Questa funzione ha due parametri.

  • Il primo parametro è l'array X con i valori delle coordinate sull'asse x
  • Il secondo parametro è l'array Y con i valori delle coordinate sull'asse y

Matlab stampa sullo schermo un grafico a due dimensioni.

il grafico 2D

Ti faccio un altro esempio.

Quando i valori da considerare sono molti ti conviene usare la funzione linspace()

Ad esempio, digita X=linspace(1,100) per creare l'array X con i numeri interi da 1 a 100.

>> X = linspace(1,100);

In questo modo eviti di dover digitare uno a uno tutti i valori sull'asse X.

Poi crea il vettore Y dei valori sulle ordinate digitando Y=sqrt(X)

>> Y=sqrt(X);

Gli array X e Y sono composti da 100 elementi.

Nota. Quando calcoli un array con molti elementi aggiungi un punto e virgola alla fine del comando. In questo modo eviti di stampare i risultati sulla console e il calcolo diventa più veloce.

Ora digita plot(X,Y) per disegnare il grafico sullo schermo del PC

>> plot(X,Y)

Matlab stampa il grafico della radice quadrata da 1 a 100.

il grafico della funzione

Come cambiare colore al grafico

Quando crei un grafico Matlab sceglie di default il colore della linea.

Per usare un colore specifico usa l'attribito Color

>> X = linspace(1,100);
>> Y=sqrt(X);
>> plot(X,Y, 'Color' , 'red')

Matlab disegna il grafico utilizzando il colore che hai indicato nell'attributo Color.

In questo caso ho scelto il colore rosso (red). Quindi, la linea del grafico è rossa.

un esempio di grafico colorato

 

Altri colori predefiniti sono green, blue, cyan, magenta, yellow, black, white, none

Come modificare lo spessore della linea

Per modificare lo spessore della linea nel grafico usa l'attributo Linewidth seguito da un numero intero

>> X = linspace(1,100);
>> Y=sqrt(X);
>> plot(X,Y, 'Color' , 'red', 'Linewidth', 3)

Matlab disegna il grafico utilizzando lo spessore indicato dopo l'attributo

In questo caso ho scelto uno spessore pari a 3 pixel.

lo spessore della linea è maggiore

 

Quando non utilizzi l'attributo Linewidth Matlab disegna le linee con uno spessore pari a 1.

Come disegnare i marker anziché la linea

Per disegnare il grafico puoi anche usare dei marker (marcatori) anziché una linea continua.

In questo caso devi indicare il simbolo da usare come marker. Ad esempio, digita

>> plot(X,Y, '+', 'Color' , 'red')

Matlab traccia il grafico visualizzando il simbolo + in ogni coordinata (x,y) del grafico.

un esempio di utilizzo dei marcatori

Puoi usare come marcatori anche il punto ( . ) e i caratteri x, +, o, -, ecc.

L'effetto grafico che si ottiene usando come marker il punto è particolare utile.

un esempio di marcatore usando il punto

Un altro marcatore molto utile è il doppio trattino '- -'

>> plot(X,Y, '--', 'Color' , 'red')

In questo caso Matlab disegna la linea del grafico tratteggiata.

esempio di linea tratteggiata

 

Come aggiungere i nomi degli assi

Per aggiungere il nome delle variabili sugli assi cartesiani del grafico utilizza le funzioni xlabel e ylabel.

Ad esempio, nell'esempio precedente digita xlabel('x') dopo plot(X,Y)

>> X = linspace(1,100);
>> Y=sqrt(X);
>> plot(X,Y)
>> xlabel('asse x')

Matlab aggiunge l'etichetta sotto l'asse orizzontale.

inserire l'etichetta sull'asse x

Poi digita ylabel('y')

>> X = linspace(1,100);
>> Y=sqrt(X);
>> plot(X,Y)
>> xlabel('asse x')
>> ylabel('asse y')

Questo comando aggiunge l'etichetta a sinistra dell'asse verticale

il grafico ha due etichette

Ora nel grafico sono visibili i nomi degli assi.

Come aggiungere il titolo del grafico

Per inserire il titolo del grafico usa la funzione title().

Ad esempio, riprendi l'esempio precedente e digita title('titolo del grafico') dopo la funzione plot()

>> X = linspace(1,100);
>> Y=sqrt(X);
>> plot(X,Y)
>> xlabel('asse x')
>> ylabel('asse y')
>> title('titolo del grafico')

La funzione xtitle() visualizza il titolo del grafico sopra il diagramma cartesiano.

come inserire un titolo sul grafico

Come visualizzare la griglia

Per inserire visualizzare la griglia nel diagramma usa il comando grid on

>> X = linspace(1,100);
>> Y=sqrt(X);
>> plot(X,Y)
>> xlabel('asse x')
>> ylabel('asse y')
>> grid on

Il comando grid on aggiunge le linee verticali e orizzontali nel diagramma cartesiano.

la griglia

Nota. Per togliere la griglia usa invece il comando grid off

Come visualizzare una legenda

Per aggiungere una legenda al grafico usa la funzione legend()

Ad esempio, digita

>> X = linspace(1,100);
>> Y=sqrt(X);
>> plot(X,Y)
>> xlabel('asse x')
>> ylabel('asse y')
>> legend('radice quadrata di x');

Matlab mostra la legenda vicino al grafico

un esempio di grafico con la legenda

Come colorare l'area sotto il grafico

Per colorare l'area tra il grafico e l'asse orizzontale delle ascisse devi usare la funzione area().

Ad esempio, nell'esempio precedente digita area(X,Y) in sostituzione di plot(X,Y)

>> X = linspace(1,100);
>> Y=sqrt(X);
>> area(X,Y)

La funzione area() stampa il grafico colorando l'area sotto il grafico.

il comando area(x,y) colora la superficie tra il grafico e l'asse x

In questa lezione hai imparato a disegnare un grafico 2D.

Nelle prossime lezioni vedremo come personalizzare il grafico, fare gli istogrammi, i grafici 3D e altro ancora.




Non hai risolto il tuo problema? Scrivi una domanda




FacebookTwitterLinkedinLinkedin