MATLAB 中的 3D 繪圖

Ammar Ali 2024年2月15日
  1. 在 MATLAB 中使用 mesh() 函式建立曲面圖
  2. 在 MATLAB 中使用 scatter3() 函式建立 3D 散點圖
  3. 在 MATLAB 中使用 contour3() 函式建立 3D 等高線圖
  4. 在 MATLAB 中使用 plot3() 函式建立點或線的 3D 圖
  5. 在 MATLAB 中使用 quiver3() 函式建立 3D Quiver 或向量圖
  6. 在 MATLAB 中使用 bar3() 函式建立 3D 條形圖
MATLAB 中的 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)

輸出:

曲面圖 1

檢視此連結以獲取有關 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)

輸出:

3D 平面中的散點圖

檢視此連結以獲取有關 scatter() 函式的更多詳細資訊。

在 MATLAB 中使用 contour3() 函式建立 3D 等高線圖

我們可以使用 Matlab 的內建函式 contour3() 建立 3D 等高線圖。等值線圖是根據值具有不同顏色的等值線圖。

賦予線條的顏色取決於它的值。較冷的顏色對應於較低的值,較熱的顏色對應於較高的值。

例如,讓我們使用 sphere()contour3() 函式繪製一個球體的 3D 等高線圖。請參閱下面的程式碼。

clc
[x,y,z] = sphere(100);
contour3(x,y,z);

輸出:

球體的 3D 等高線圖

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

輸出:

3D 圖上的螺旋線

檢視此連結以獲取有關 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)

輸出:

3D 箭袋圖

檢視此連結以獲取有關 quiver3() 函式的更多詳細資訊。

在 MATLAB 中使用 bar3() 函式建立 3D 條形圖

我們可以使用 Matlab 的內建函式 bar3() 在 3D 平面上繪製條形圖。我們必須傳遞資料的輸入矩陣,在 3D 平面中繪製為 z 軸上的高度。

其他兩個座標(x 和 y)將取自給定矩陣的索引。例如,讓我們從給定的矩陣建立一個 3D 條形圖。

請參閱下面的程式碼。

clc
m = [1:10 ;10:-1:1;1:10];
bar3(m)

輸出:

使用 bar3 的條形圖

作者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相關文章 - MATLAB Plot