使用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(10)
再取其前6个即可。
a(1:6)
使用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(10)
再取其前6个即可。
a(1:6)