2017-05-09 157 views
0

我需要在MatLab中以隨機順序處理的n號碼獲得一個向量。我該怎麼做?如何在MatLab中獲得一個隨機向量?

如果我使用例如randi(10,1,10),我會得到隨機值,但我沒有保證所有的數字都會在序列中。

例如:

我需要與所有的數字1,2,3,4,5,6,7,8,9,10的載體,佈置在以隨機的順序,像2,5,3,6,8,10,4,7,9,1

+1

'randperm(10)'也許? –

+0

不是偶然的順序意味着取代替換? –

+0

另外,感謝今天教給我一個新詞。既然實際上有10面骰子,當你說「偶然秩序」時,你是否意指「隨機順序」,還是你的意思是「有關骰子」? –

回答

1

看來您正在尋找randperm函數。從該文檔:

p = randperm(n)返回包含整數的隨機置換爲1〜n包括一個行向量。

你的例子應該是randperm(10)

有一個可選的第二個參數,您可以傳入以確定將選擇多少個元素。例如,randperm(10, 5)會從1到10中選擇五個隨機數。

也可以使用randperm的結果來隨機播放或從任意向量中進行選擇。假設你想以隨機順序而不是1到10的數字101到110:

nums = 101:110; 
nums = nums(randperm(numel(nums)));