/ /行列インデックスの行列を作成する - matlab

行列インデックスの行列を作成する - matlab

二次元ベクトルの行列を作りたい。すべてのベクトルは、行列内のそれぞれの位置のx / yインデックス(または必要に応じてi、j)を含む必要があります。

基本的に私はこのようなものが欲しい:

二次元ベクトルをもつ行列

これをforループで作成できることはわかっていますが、もっと簡単な方法はありますか? Matlabはそのようなことのために非常に多くの便利な機能を持っています、それは私に何度も驚いた。

回答:

回答№1は5

meshgrid そこにほとんどの方法であなたを得るでしょう:

>> [X,Y] = meshgrid(0:2, 0:2)

X =

0     1     2
0     1     2
0     1     2


Y =

0     0     0
1     1     1
2     2     2

あなたは一般的にMatlabでは "ベクトルの行列"を持つことはできない。

  1. ベクトルの「セル配列」を作ります。
  2. 3次元目がXまたはY(つまり、行または列)にインデックス付けされている3次元行列(NxMx2)を作成します。

2番目のオプションを実装するには

coords(:,:,1) = X
coords(:,:,2) = Y

フォローアップの質問:なぜこれをしたいのですか?