如何生成3号组合并重复

时间:2018-01-06 11:08:33

标签: matlab random

所以基本上我想要生成的是一个带有重复的3数字组合。因此,例如,数字的范围是1到31,我有3组。所以假设对于第一组我随机选择数字2,然后对于第二组我随机选择12,对于第三组,我随机选择31.然后我将有3组合2,12和31.我想要通过N次试验做到这一点。

我尝试使用此代码:

Y = zeros(3,31);
for i=1:1000
    Y(i,:) = randperm(31);
end
Y = Y(:, 1:3);  

但是,此代码用于组合而不重复。我需要的是与重复相结合。

1 个答案:

答案 0 :(得分:2)

你仍然只是选择在1-31上均匀分布的数字。

N = 10;
combinations = randi([1 31], [N 3]);

每行将是N次试验中的一次。每列将是1到31之间随机选择的数字(w /替换)。