我想生成所有可能的组合,用于批量选择行,例如'k'大小。例如,矩阵A有3行,我想要批量大小为2的所有组合,即行(1,2)(1,3)(2,3)。最简单的方法是什么?然后我想将它们用于像myfunction();
这样的操作我认为nchoosek函数可以实现选择组合的技巧但是如何使用nchoosek输出的每一行作为我的矩阵的索引?
答案 0 :(得分:3)
如果您想逐个使用每个组合,您可以执行以下操作:
A = rand(3);
comb = nchoosek(length(A), 2);
for i = 1:size(comb, 1)
myfunction(A(comb(i, :), :));
end
A(comb(i, :))
是对应于第i行组合的k x n矩阵(此处为3 x 2)。