如果我在数组中有10个数字a=[1 2 3 4 5 6 7 8 9 10]
如何在每组中随机选择5组随机选择两个数字,这些数字在所有5组中应该是唯一的?
对于上面的数组,答案应该是:
S1=[3 8]
S2=[2 5]
S3=[1 4]
S4=[6 9]
S5=[7 10]
答案 0 :(得分:1)
您可以使用randperm生成原始矢量的随机索引,并使用它来随机播放原始矢量。然后,按顺序获取混洗向量的元素:
a=[1 2 3 4 5 6 7 8 9 10];
shuffled = a(randperm(length(a)));
sets = reshape(shuffled,5,2);
您的变量S1
到S5
对应矩阵sets
的每一行。