Main Content

Grafici bidimensionali e tridimensionali

Grafici lineari

Per creare grafici lineari bidimensionali utilizzare la funzione plot. Ad esempio, tracciare il valore della funzione seno su un vettore lineare di valori da 0 a 2π:

x = linspace(0,2*pi);
y = sin(x);
plot(x,y)

Figure contains an axes object. The axes object contains an object of type line.

È possibile impostare etichette per gli assi e aggiungere un titolo.

xlabel("x")
ylabel("sin(x)")
title("Plot of the Sine Function")

Figure contains an axes object. The axes object with title Plot of the Sine Function contains an object of type line.

Aggiungendo un terzo argomento di input alla funzione plot è possibile tracciare le stesse variabili utilizzando una linea rossa tratteggiata.

plot(x,y,"r--")

Figure contains an axes object. The axes object contains an object of type line.

"r--" è una specifica della linea. Ciascuna specifica può comprendere caratteristiche per colore, stile e marcatore della linea. Un marcatore è un simbolo riportato per ogni punto di dati tracciato, come +, o o *. Ad esempio, “g:*" richiede una linea verde punteggiata con i marcatori *.

Si noti che i titoli e le etichette definiti per il primo grafico non si trovano più nella finestra della figura corrente. Come impostazione predefinita, MATLAB® elimina la figura a ogni richiamo della funzione di plottaggio, resetta gli assi e altri elementi per preparare il nuovo grafico.

Per aggiungere grafici alla figura esistente utilizzare hold on. Fino a quando non si usa hold off o si chiude la finestra, tutti i grafici appaiono nella finestra della figura corrente.

x = linspace(0,2*pi);
y = sin(x);
plot(x,y)

hold on

y2 = cos(x);
plot(x,y2,":")
legend("sin","cos")

hold off

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent sin, cos.

Grafici tridimensionali

I grafici tridimensionali solitamente visualizzano una superficie definita da una funzione in due variabili, z=f(x,y). Ad esempio, calcolare z=xe-x2-y2 dati i vettori riga e colonna x e y con 20 punti ciascuno nel range [-2,2].

x = linspace(-2,2,20);
y = x';
z = x .* exp(-x.^2 - y.^2);

Creare quindi un grafico a superficie.

surf(x,y,z)

Figure contains an axes object. The axes object contains an object of type surface.

Sia la funzione surf, sia la funzione dello stesso tipo mesh visualizzano superfici tridimensionali. surf visualizza a colori sia le linee di connessione che le superfici. mesh produce superfici wireframe in cui risultano colorate solo le linee di connessione.

Più grafici

La funzione tiledlayout o subplot consente di visualizzare più grafici in diverse parti della stessa finestra.

La funzione tiledlayout è stata introdotta in R2019b e fornisce più controllo sulle etichette e sulla spaziatura rispetto a subplot. Ad esempio, è possibile creare un grafico in un layout 2x2 in una finestra della figura. Quindi, richiamare nexttile ogni volta che si desidera che un grafico appaia nella regione successiva.

t = tiledlayout(2,2);
title(t,"Trigonometric Functions")
x = linspace(0,30);

nexttile
plot(x,sin(x))
title("Sine")

nexttile
plot(x,cos(x))
title("Cosine")

nexttile
plot(x,tan(x))
title("Tangent")

nexttile
plot(x,sec(x))
title("Secant")

Figure contains 4 axes objects. Axes object 1 with title Sine contains an object of type line. Axes object 2 with title Cosine contains an object of type line. Axes object 3 with title Tangent contains an object of type line. Axes object 4 with title Secant contains an object of type line.

Se si sta utilizzando una licenza precedente a R2019b, vedere subplot.