我有一个matlab函数,需要一对数组。 使用meshgrid生成这样的数组很好。 当我用一对数组调用函数时,问题出现了,matlab解释器认为它是一个包含2个元素而不是数组数组的数组。
我将用一个例子来解释:
[p,q] = meshgrid(vec1, vec2);
pairs = [p(:) q(:)];
现在''对''是一对夫妻,但如果vec1和vec2只有1个元素''对''只是一个由两个元素组成的数组。
你可以帮我生成一对数组吗?
类似的东西:
aPair =[[a, b]];
aPair(1)
ans =
[a,b]
非常感谢
答案 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,:)