MATLAB の meshgrid()関数

Ammar Ali 2022年1月20日
MATLAB の meshgrid()関数

このチュートリアルでは、Matlab の meshgrid() 関数を使用してグリッドを作成する方法について説明します。

MATLAB で meshgrid() 関数を使用してグリッドを作成する

Matlab で 2D および 3D グリッドを作成するには、Matlab の組み込み関数 meshgrid() を使用できます。Matlab では、グリッドを使用して 3D 平面にデータをプロットします。ベクトルまたは行列を 3D 平面にプロットするには、meshgrid() 関数を使用して 2D または 3D グリッドを作成する必要があります。2D プロットでは、x 座標と y 座標をベクトルとして渡しますが、3D では、ベクトルではなく行列を渡す必要があります。meshgrid() 関数を使用して、ベクトルを行列に変換し、3D 平面にデータをプロットするために使用できます。たとえば、meshgrid() 関数を使用して、x 座標と y 座標を含む 2つのベクトルを行列に変換してみましょう。以下のコードを参照してください。

clc
x = 1:4
y = 1:6
[X,Y] = meshgrid(x,y)

出力:

x =

     1     2     3     4


y =

     1     2     3     4     5     6


X =

     1     2     3     4
     1     2     3     4
     1     2     3     4
     1     2     3     4
     1     2     3     4
     1     2     3     4


Y =

     1     1     1     1
     2     2     2     2
     3     3     3     3
     4     4     4     4
     5     5     5     5
     6     6     6     6

出力では、小さい x と y と大文字の X と Y の違いを確認できます。小さい x と y の座標を使用してデータを 3D 平面にプロットすることはできませんが、大文字の X と Y の座標を使用してプロットすることはできます。3D 平面のデータ。たとえば、X 座標と Y 座標、および surf() 関数を使用して、3D 平面にプロットするベクトルを作成しましょう。以下のコードを参照してください。

clc
x = 1:4;
y = 1:6;
[X,Y] = meshgrid(x,y);
Z = X.^2 + Y.^2;
surf(X,Y,Z)

出力:

メッシュグリッドを使用した 3D プロット

surf() 関数は、行列 Z を 3D 平面にプロットするために使用されます。行列 Z は、X および Y 行列と同じサイズである必要があります。meshgrid() 関数を使用して、3つまたは 1つの入力ベクトルと 3つの出力変数を使用して 3D グリッドを作成することもできます。meshgrid() 関数は、グリッドポイントの立方体を形成する 3D グリッドを作成します。meshgrid() 関数で 1つの入力ベクトルのみを渡す場合、関数は最初のベクトルのインデックスから他の 2つの座標を取得します。

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