matlab之生成不重複的隨機整數

Regnaiq發表於2017-07-13

使用rand函式生成小數再取整的方法往往會造成資料重複。


而Matlab自帶函式randperm(n)可以產生1到n的整數的無重複的隨機排列,利用它就可以得到無重複的隨機數。例如:



randperm(n):產生一個1到n的隨機順序。 
>> randperm(10)
ans =

     6     4     8     9     3     5     7    10     2     1


那麼我們要想得到6個(1,10)之間的隨機數的話,只需要

a=randperm(1:10)

再取其前6個即可。

a(1:6)


相關文章