MATLAB 中的 3D 箭袋或向量圖

Ammar Ali 2024年2月15日
MATLAB 中的 3D 箭袋或向量圖

本教程將討論使用 MATLAB 中的 quiver3() 函式建立 3D 箭袋或向量圖。

使用 MATLAB 中的 quiver3() 函式建立 3D 箭袋或向量圖

我們可以使用 MATLAB 的內建函式 quiver3() 來繪製 3D 顫動圖或向量圖。

標量僅包含大小,而向量包含大小和方向。我們可以使用 plot3() 函式建立標量資料的 3D 圖,但我們不能使用 plot3() 函式繪製向量資料,因為該函式不會繪製向量的方向。

在向量的情況下,我們可以使用 quiver3() 函式,它將繪製向量的大小和方向。例如,讓我們建立一個矩陣並將其繪製在具有方向的 3D 平面上。請參閱下面的程式碼。

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

輸出:

3D 箭袋圖

我們必須在 quiver3() 函式中至少傳遞四個輸入,以繪製具有由最後三個輸入指定的方向分量的箭頭。

所有四個輸入的大小應該相同。最後三個輸入是方向分量,第一個輸入是 z 軸,方向分量將沿 z 軸繪製。

如果第一個輸入是向量,那麼箭頭的 x 座標將從 1 到第一個輸入中的元素個數,y 座標都等於 1。如果第一個輸入是矩陣,那麼 x 箭頭的座標將從 1 到輸入矩陣中的列數,y 座標將從 1 到輸入矩陣中的行數。

除了傳遞單個軸,我們還可以在 quiver3() 函式中傳遞三個軸,x、y 和 z。現在箭頭將根據三個輸入座標而不是一個座標延伸。

我們還可以設定 quiver3() 函式的其他屬性,如箭頭的長度、線條規格、線條寬度、箭頭顯示、箭頭長度的自動縮放和比例因子。

預設情況下,箭頭縮放因子會縮放箭頭,使它們不會重疊,但我們也可以將其關閉。預設情況下,箭頭的顏色設定為 auto,但我們可以通過使用 color 和 Color 屬性的名稱為它們指定任何顏色。

預設情況下,線寬設定為 0.5,但我們可以使用 LineWidth 屬性將其設定為任何正數值。預設情況下箭頭顯示是開啟的,但我們可以使用 ShowArrowHead 屬性將其關閉。

autoscale 預設是開啟的,但我們可以使用 AutoScale 屬性關閉它。預設情況下,自動縮放因子的值設定為 0.9,但我們可以使用 AutoScaleFactor 將其設定為任何標量值。

我們還可以使用 xlabel()ylabel()zlabel()title() 函式設定圖的標籤和標題。例如,讓我們更改上述箭袋圖的一些屬性。請參閱下面的程式碼。

clc
m = [1:10 ;10:-1:1;1:10];
quiver3(m,m,m,m,'LineWidth',2,'Color','red','AutoScale','off')
xlabel('x-axis')
ylabel('y-axis')
zlabel('z-axis')
title('Quiver Plot')

輸出:

改變箭袋圖的屬性

在輸出中,箭頭重疊,因為自動縮放已關閉。

作者: 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

相關文章 - MATLAB 3D Plot