不止一次我現在需要生成MATLAB兩個向量的所有可能對我的其中佔用的代碼,即如何使用矢量化代碼在MATLAB中從兩個矢量生成所有對?
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
輸出,因爲對稱對將包含兩次。
可能重複 - 生成一些載體元素的所有可能組合](http://stackoverflow.com/questions/4165859/matlab-generate-all-possible-combinations-of-the-elements-of-some-vectors) – Amro