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 矢筒プロット

最後の 3つの入力で指定された方向成分を持つ矢印をプロットするには、quiver3() 関数で少なくとも 4つの入力を渡す必要があります。

4つの入力すべてのサイズは同じである必要があります。最後の 3つの入力は方向成分であり、最初の入力は方向成分がプロットされる z 軸です。

最初の入力がベクトルの場合、矢印の x 座標は 1 から最初の入力の要素数までであり、y 座標はすべて 1 に等しくなります。最初の入力が行列の場合、x 矢印の座標は 1 から入力マトリックスの列数になり、y 座標は 1 から入力マトリックスの行数になります。

quiver3() 関数では、単一の軸を渡す代わりに、x、y、z の 3つの軸を渡すこともできます。これで、矢印は 1つの座標ではなく、3つの入力座標に従って延長されます。

矢印の長さ、線の仕様、線の幅、矢印の表示、矢印の長さの自動スケーリング、倍率など、quiver3() 関数の他のプロパティを設定することもできます。

デフォルトでは、矢印の倍率は矢印が重ならないようにスケーリングしますが、オフにすることもできます。デフォルトでは、矢印の色は auto に設定されていますが、色の名前と 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