0

ベクトルの行列を作成するためにメッシュグリッドをループしようとしています。私が持っている場合:

[x,y] = meshgrid(1:2,1:2)

誰かが各要素をループして、等しい行列を取得することを説明できますか:

matrix =
 [x(1,1) y(1,1)] [x(1,2) y(1,2)]
 [x(2,1) y(2,1)] [x(2,2) y(2,2)]

前もって感謝します

4

2 に答える 2

1

と の値を交互に並べた2x4行列が必要な場合は、次のようにします。xy

matrix = zeros(2,4);
matrix(:,[1 3]) = x;
matrix(:,[2 4]) = y;

代わりにと を積み上げた2x2x2行列が必要な場合は、次を使用します。xycat

matrix = cat(3,x,y);

xこれは、3 番目の次元にy沿って連結されます。

于 2012-06-22T02:27:43.923 に答える
0

おそらく、座標の各ペアを 1 つの行として配置できます。

[x,y] = meshgrid(1:2,1:2)
xy = [x(:) y(:)];

したがって:

>> xy =
     1     1           %# xy(1,:) = [x(1,1),y(1,1)]
     1     2           %# xy(2,:) = [x(2,1),y(2,1)]
     2     1           %# xy(3,:) = [x(1,2),y(1,2)]
     2     2           %# xy(4,:) = [x(2,2),y(2,2)]
于 2012-06-23T06:01:39.993 に答える