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