循环遍历meshgrid matlab的元素

时间:2012-06-21 23:47:53

标签: matlab

我正在尝试遍历meshgrid以创建向量矩阵。如果我有:

[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)]

提前致谢

2 个答案:

答案 0 :(得分:1)

如果您希望2x4矩阵的值为xy,则可以使用:

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

如果您需要堆叠2x2x2x的{​​{1}}矩阵,请使用y

cat

这会沿着第三维连接matrix = cat(3,x,y); x

答案 1 :(得分:0)

也许您可以将每对坐标排列为一行:

[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)]