2017-02-25 1 views
1

배열에 숫자가 10 개있는 경우 a=[1 2 3 4 5 6 7 8 9 10] 각 세트에서 무작위로 두 개의 숫자를 선택하는 5 개 세트를 만들려면 어떻게해야합니까? 숫자는 5 세트 모두에서 고유해야합니다.배열의 숫자를 임의로 선택

위의 배열의 경우, 대답은해야합니다 : 당신은 원래 벡터에 임의의 인덱스를 생성하는 randperm을 사용하고 원래 벡터 셔플하는 데 사용할 수 있습니다

S1=[3 8] 
S2=[2 5] 
S3=[1 4] 
S4=[6 9] 
S5=[7 10] 
+0

게시물의 문구를 수정하여 실제로 의미하는 바를 명확히 할 수 있습니까? 아마도 유효한 결과의 예가 도움이 될 수 있습니다. – tmpearce

+0

질문을 업데이트했습니다 – Addee

+0

[randperm] (https://www.mathworks.com/help/matlab/ref/randperm.html)을 사용할 수 있습니다. – rahnema1

답변

1

. 그리고, 바로 위해 셔플 벡터의 요소를 취 S5 통해 S1sets 행렬의 각 행에 대응

a=[1 2 3 4 5 6 7 8 9 10]; 
shuffled = a(randperm(length(a))); 
sets = reshape(shuffled,5,2); 

내 변수.

관련 문제