主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

meshgrid

2次元および3次元のグリッド

説明

XY) = meshgrid (xyはベクトルxおよびyに含まれる座標に基づいて2次元のグリッド座標を返します。Xは各行がxのコピーである行列,Yは各列がyのコピーである行列です。座標XおよびYによって表されるグリッドには长度(y)個の行と长度(x)個の列が含まれます。

XY) = meshgrid (x(X, Y) = meshgrid (X, X)と同じであり,グリッドサイズが长度(x)长度(x)列の正方形グリッド座標を返します。

XYZ) = meshgrid (xyzはベクトルxyおよびzによって定義される3次元グリッド座標を返します。XYおよびZによって表されるグリッドのサイズは长度(y)x长度(x)x长度(z)です。

XYZ) = meshgrid (x[X, Y, Z] = meshgrid (X, X, X)と同じであり,グリッドサイズが长度(x)x长度(x)x长度(x)の3次元グリッド座標を返します。

すべて折りたたむ

ベクトルxによって定義されたx座標およびベクトルyによって定義されたy座標からなる2次元グリッド座標を作成します。

x = 1:3;y = 1:5;(X, Y) = meshgrid (X, Y)
X =5×31 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
Y =5×31 1 1 2 2 2 3 3 3 4 4 4 5 5 5

x 2 + y 2 を2次元グリッド上で評価します。

x ^ 2 + y ^ 2
ans =5×325 10 5 8 13 10 13 18 17 20 25 26 29 34

等間隔のx座標およびy座標からなる2次元グリッドを区間(2,2)で作成します。

x = 2:0.25:2;y = x;(X, Y) = meshgrid (X);

関数 f x y x e - x 2 - y 2 を2次元グリッド上で評価してプロットします。

F = x * exp (- x ^ 2 y ^ 2);冲浪(X, Y, F)

图中包含一个坐标轴。轴包含一个类型为曲面的对象。

R2016b以降では,グリッド上の操作を行う前にグリッドを必ず作成する必要はありません。たとえば式 x e - x 2 - y 2 を計算すると,ベクトルxyが暗黙的に拡張されます。暗黙的な拡張に関する詳細については,配列と行列の演算を参照してください。

冲浪(x, y, x。* exp (- x ^ 2 - (y) ^ 2))。

图中包含一个坐标轴。轴包含一个类型为曲面的对象。

xyおよびz座標から3次元グリッド座標を区間(0,6)で作成し,式 x 2 + y 2 + z 2 を評価します。

x = 0:2:6;y = 0:1:6;z = 0:3:6;[X, Y, Z] = meshgrid (X, Y, Z);F = x ^2 + y ^2 + z ^2;

グリッドのサイズを決定します。3つの座標ベクトルの長さが異なるため,グリッド点の直方体が形成されます。

gridsize =大小(F)
gridsize =1×37 4 3

単入力構文を使用して,xで定義された座標に基づく一定間隔の3次元グリッドを生成します。新しいグリッドはグリッド点の立方体を形成します。

[X, Y, Z] = meshgrid (X);x ^2 + y ^2 + z ^2;gridsize =大小(G)
gridsize =1×34 4 4

入力引数

すべて折りたたむ

点のx座標。ベクトルとして指定します。

データ型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

点のy座標。ベクトルとして指定します。

データ型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

点のz座標。ベクトルとして指定します。

データ型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

出力引数

すべて折りたたむ

グリッド上のx座標。2次元配列 (2 つの入力) または 3 次元配列 (3 つの入力) として返されます。

グリッド上のy座標。2次元配列 (2 つの入力) または 3 次元配列 (3 つの入力) として返されます。

グリッド上のz座標。3 次元配列として返されます。

詳細

すべて折りたたむ

meshgridndgridの形式の変換

meshgridndgridは異なる出力形式を使用してグリッドを作成します。具体的には,これらの関数の一方を使用して作成されたグリッドをもう一方のグリッド形式と比較すると,最初の2つの次元が入れ替わっています。MATLAB®関数にはmeshgridの形式のグリッドを使用する関数もndgridの形式を使用する関数もあるため,2つの形式の間でグリッドを変換することがよくあります。

これらのグリッド形式は,pagetransposeR2020b以降)または交换を使用してグリッド配列の最初の2つの次元を入れ替えることで変換できます。たとえば,meshgridで3次元グリッドを作成します。

[X, Y, Z] = meshgrid (1:4, 1:3, 1:2);

次に,各グリッド配列の最初の2つの次元を転置してグリッドをndgridの形式に変換し,結果をndgridの出力と比較します。

Xt = pagetranspose (X);欧美= pagetranspose (Y);Zt型= pagetranspose (Z);[Xn、Yn、锌]= ndgrid (1:4, 1:3, 1:2);isequal(Xt,Xn) & isequal(Yt,Yn) & isequal(Zt,Zn)
逻辑1

pagetransposeの使用は,他の次元はそのままで最初の2つの次元を並べ替えるのと同じです。この操作は交换(X, [2 1 3: ndims (X)))を使用して実行することもできます。

拡張機能

C / c++コード生成
MATLAB®编码器™を使用してCおよびc++コードを生成します。

GPUコード生成
GPU编码器™を使用してNVIDIA GPU®のためのCUDA®コードを生成します。

R2006aより前に導入