MATLAB の Meshgrid とは?
MATLAB は、単純な算術演算や微積分から線形代数や信号処理に至るまでの計算を実行するための便利な数学ソフトウェア パッケージです。データをグラフにプロットすることもできます。 MATLAB には何千もの組み込み関数があり、強力なプロット ツールの 1 つに "meshgrid" 関数があります。この関数は、ユーザー定義のグリッド線を 2 次元および 3 次元のグラフに配置します。
MATLAB プロットの既定値
MATLAB の 2 次元プロット関数を追加の命令なしで単独で使用する場合、MATLAB はグリッド線を使用しません。ユーザーが 2 次元空間でグラフをプロットする場合、プロットの背景領域は空白で白です。 3 次元空間では、MATLAB は汎用グリッドを使用します。 2 次元グラフの外観をより明確にするために何らかの種類のグリッド ラインを 2 次元グラフに表示する必要がある場合、ユーザーは plot コマンドを呼び出すとき、または MATLAB がグラフを生成した後に Figure ウィンドウからそれを指定する必要があります。
メッシュグリッドとグリッド
MATLAB の "grid" 関数は、プロットを呼び出すときに 2 次元で一般的なグリッド ラインをオンにする簡単な方法です。 MATLAB で事前にプログラムされたアルゴリズムは、使用するグリッド ラインの数と間隔を決定します。対照的に、「メッシュグリッド」機能を使用する場合、ユーザーはグラフに表示される水平および垂直のグリッド線を完全に決定します。さらに、グリッド ラインの数とその間隔は、「グリッド」では両方の軸で同じですが、「メッシュ グリッド」では、たとえば、水平方向に 3 つのグリッド ラインと垂直方向に 100 のグリッド ラインが必要になる場合があります。
3D の例
これは、3 次元プロットに「メッシュグリッド」を使用した例です。
[X,Y] =meshgrid(-2:.2:2, -1:0.2:1) Z =X .* exp(-X.^2 - Y.^2);サーフ(X,Y,Z)
コードの最初の行は、MATLAB に -2 ~ 2 の範囲の水平グリッド線を 0.2 間隔で使用するように指示します。また、-1 から 1 までの 10 分の 1 単位の垂直グリッド線も必要です。 2 行目は、"X" 値と "Y" 値に基づいて "Z" 値を計算する方法を MATLAB に指示します。最後に、MATLAB の「surf」関数は、空間に浮遊する 3D サーフェスをプロットし、メッシュグリッドがサーフェスに一致します。
別の 3D の例
3 次元プロットに「メッシュグリッド」を使用する別の方法を次に示します。
[X,Y] =meshgrid(-2:.2:2) Z =X .* exp(-X.^2 - Y.^2);サーフ(X,Y,Z)
2 行目と 3 行目は前のセクションと同じですが、この場合、"meshgrid" 関数は引数を 1 つしか取りません。 MATLAB は、引数を 1 つだけ受け取ると、実際にはユーザーが "X" 値と "Y" 値に同じ数のグリッド線と間隔を使用するようにプログラムに指示していることを理解しています。このコードでは、サーフェスに 21 本の水平グリッド ラインと 21 本の垂直グリッド ラインがすべて等間隔で配置されます。