1
如果我有一个数组中的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]
如果我有一个数组中的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]
您可以使用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
的每一行。
你能否修正这篇文章的措辞来澄清你的意思?一个可能有效的结果的例子可能会有所帮助。 – tmpearce
我已经更新了这个问题 – Addee
你可以使用[randperm](https://www.mathworks.com/help/matlab/ref/randperm.html) – rahnema1