如何将双列单元阵列转换为带有点的矩阵(每行单元格数组中的每对元素)MATLAB

时间:2013-06-01 09:27:20

标签: arrays matlab cell

我有一个像这样的单元格数组(输入):

A(1,1) = {[1 2]};   A(1,2) = {[4 5 6]};

现在对于A的每一行(在这种情况下只有1)我想要像这样的点矢量:

A_row1 =[ 1 4; 1 5; 1 6; 2 4; 2 5; 2 6]

我想知道是否有任何方法可以在没有循环的情况下解决这个问题?

2 个答案:

答案 0 :(得分:3)

怎么样:

[x, y] = ndgrid(A{1}, A{2})
B = [x(:) y(:)]

答案 1 :(得分:1)

我认为这应该可以解决问题:

B = sortrows([repmat(A{1}',size(A{2},2),1) repmat(A{2}',size(A{1},2),1)])

B =

 1     4
 1     5
 1     6
 2     4
 2     5
 2     6