单对的Matlab数组

时间:2013-11-28 16:05:13

标签: matlab

我有一个matlab函数,需要一对数组。 使用meshgrid生成这样的数组很好。 当我用一对数组调用函数时,问题出现了,matlab解释器认为它是一个包含2个元素而不是数组数组的数组。

我将用一个例子来解释:

[p,q] = meshgrid(vec1, vec2);
pairs = [p(:) q(:)];

现在''对''是一对夫妻,但如果vec1和vec2只有1个元素''对''只是一个由两个元素组成的数组。

你可以帮我生成一对数组吗?

类似的东西:

aPair =[[a, b]];
aPair(1)
ans =
    [a,b]

非常感谢

1 个答案:

答案 0 :(得分:0)

您正在寻找一个单元阵列。

你可以构建它

pairs = arrayfun(@(x,y)[x,y],p(:),q(:),'uni',false);

pairArray = [p(:),q(:)];
pairs = mat2cell(pairArray ,ones(size(pairArray,1),1),2);

您可以将#1对作为

aPair{1}

但是,为什么不访问pairArray

的行,而不是进行单元阵列路由
aPair = pairArray(n,:)