MATLAB 中的 3D 繪圖
-
在 MATLAB 中使用
mesh()
函式建立曲面圖 -
在 MATLAB 中使用
scatter3()
函式建立 3D 散點圖 -
在 MATLAB 中使用
contour3()
函式建立 3D 等高線圖 -
在 MATLAB 中使用
plot3()
函式建立點或線的 3D 圖 -
在 MATLAB 中使用
quiver3()
函式建立 3D Quiver 或向量圖 -
在 MATLAB 中使用
bar3()
函式建立 3D 條形圖
本教程將討論在 MATLAB 中使用 mesh()
、scatter3()
、contour3()
、plot3()
、quiver3()
和 bar3()
函式建立 3d 圖。
在 MATLAB 中使用 mesh()
函式建立曲面圖
Matlab 的內建函式 mesh()
在 3D 平面上建立曲面圖。我們可以將 mesh()
函式內的矩陣作為我們想要在 3D 平面中繪製的函式傳遞。
mesh()
函式將使用 x-y 座標的預設值沿 z 軸繪製給定矩陣。x 和 y 座標將來自給定矩陣的索引。
給定的矩陣將在 z 軸上繪製為三維平面上的高度。
例如,讓我們建立一個矩陣 Z 並使用 Matlab 中的 mesh()
函式將其繪製在曲面圖上。
請參閱下面的程式碼。
clc
[x,y] = meshgrid(-18:1:18);
r = sqrt(x.^2 + y.^2)/2;
z = cos(r)./r;
mesh(x,y,z)
輸出:
檢視此連結以獲取有關 mesh()
函式的更多詳細資訊。
在 MATLAB 中使用 scatter3()
函式建立 3D 散點圖
如果我們想建立一個 3D 散點圖,我們可以使用 scatter3()
函式。此函式與 scatter()
函式相同,但它將給定資料繪製在 3D 平面中。
我們可以給 scatter3()
函式提供兩個或三個輸入向量。
在三個輸入的情況下,第一個向量包含 x 座標,第二個包含 y 座標,第三個包含 z 座標。
在兩個輸入向量的情況下,第三個座標 z 將取自前兩個座標的索引。
例如,讓我們使用 scatter3()
函式在 3D 位置繪製散點圖。
請參閱下面的程式碼。
clc
x = linspace(0,2*pi,100);
y = sin(x) + rand(1,100);
z = 1:100;
scatter3(x,y,z)
輸出:
檢視此連結以獲取有關 scatter()
函式的更多詳細資訊。
在 MATLAB 中使用 contour3()
函式建立 3D 等高線圖
我們可以使用 Matlab 的內建函式 contour3()
建立 3D 等高線圖。等值線圖是根據值具有不同顏色的等值線圖。
賦予線條的顏色取決於它的值。較冷的顏色對應於較低的值,較熱的顏色對應於較高的值。
例如,讓我們使用 sphere()
和 contour3()
函式繪製一個球體的 3D 等高線圖。請參閱下面的程式碼。
clc
[x,y,z] = sphere(100);
contour3(x,y,z);
輸出:
在 MATLAB 中使用 plot3()
函式建立點或線的 3D 圖
我們已經知道 Matlab 中的 plot()
函式,它用於在 2D 平面上繪製資料。plot3()
函式類似於 plot()
函式。
唯一的區別是 plot3()
函式在 3D 平面上繪製資料。我們可以將資料繪製為一條線,即連續圖,也可以繪製為點,即離散圖。
我們必須傳遞三個座標 x、y 和 z,才能在 3D 平面上繪製資料。例如,讓我們使用 plot3()
函式在 3D 中繪製螺旋線。
請參閱下面的程式碼。
clc
t = 0:pi/50:10*pi;
sinet = sin(t);
cost = cos(t);
plot3(sinet,cost,t)
輸出:
檢視此連結以獲取有關 plot3()
函式的更多詳細資訊。
在 MATLAB 中使用 quiver3()
函式建立 3D Quiver 或向量圖
Matlab 的內建函式 quiver3()
可用於繪製 3D 箭袋或向量圖。標量僅包含幅度,但向量包含幅度和方向。
我們可以使用 plot3()
函式建立標量資料的 3D 圖,但我們不能使用 plot3()
函式繪製向量資料,因為該函式不會繪製向量的方向。
在向量的情況下,我們可以使用 quiver3()
函式,它將繪製向量的大小和方向。
例如,讓我們建立一個矩陣並將其繪製在具有方向的 3D 平面上。請參閱下面的程式碼。
clc
m = [1:10 ;10:-1:1;1:10];
quiver3(m,m,m,m)
輸出:
檢視此連結以獲取有關 quiver3()
函式的更多詳細資訊。
在 MATLAB 中使用 bar3()
函式建立 3D 條形圖
我們可以使用 Matlab 的內建函式 bar3()
在 3D 平面上繪製條形圖。我們必須傳遞資料的輸入矩陣,在 3D 平面中繪製為 z 軸上的高度。
其他兩個座標(x 和 y)將取自給定矩陣的索引。例如,讓我們從給定的矩陣建立一個 3D 條形圖。
請參閱下面的程式碼。
clc
m = [1:10 ;10:-1:1;1:10];
bar3(m)
輸出: