Main Content

Grafici bidimensionali e tridimensionali

Grafici lineari

Per creare grafici lineari bidimensionali utilizzare la funzione plot. Ad esempio, tracciare la funzione seno su un vettore di valori spaziati linearmente 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, xlabel x, ylabel sin(x) 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 nell’intervallo [-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 collegamento.

Grafici multipli

È possibile visualizzare più grafici in diverse parti della stessa finestra utilizzando tiledlayout o subplot.

La funzione tiledlayout è stata introdotta nella R2019b e fornisce un maggiore controllo sulle etichette e sulla spaziatura rispetto a subplot. Ad esempio, creare 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 versione antecedente alla R2019b, vedere subplot.