【发布时间】:2011-11-18 19:17:12
【问题描述】:
现在我不止一次需要在 MATLAB 中生成所有可能的两个向量对,我使用 for 循环来执行这些循环,这占用了相当多的代码行,即
vec1 = 1:4;
vec2 = 1:3;
i = 0;
pairs = zeros([4*3 2]);
for val1 = vec1
for val2 = vec2
i = i + 1;
pairs(i,1) = val1;
pairs(i,2) = val2;
end
end
生成 ...
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3
4 1
4 2
4 3
一定有更好的方法来做到这一点,这更像是 MATLAB'esque?
n.b. nchoosek 不做我需要的反向对(即2 1 和1 2),我不能只是反向并附加nchoosek 输出,因为对称对将被包含两次。
【问题讨论】:
标签: matlab combinations