Matlab 随机数rand的几种创建方式及随机数种子
的有关信息介绍如下:在Matlab应用中,我们经常需要用到随机数,比如rand(),randi()等函数,都是生成某一类随机数的函数。对于rand()函数来说,每一次启动Matlab软件后,生成的随机数都是相同的,因此需要设置一个随时变化的随机数种子,来保证其生成的随机数为真随机数。然而,对于某些需要可重复运行的场景来说,需要设定一个固定的随机数种子,以保证每一次运行都能得到相同的随机数,因此,也需要随机数种子。下面以几个小例子进行说明。
对于rand()函数,有以下几种应科科用方式:
A=rand(5);%生成5×5的随机数矩阵
结果如图
A=rand(5,2);%生成5×2的随机数矩阵
结果如图
A=rand();%生成一个随机数
A=rand(1,1);%生成一个随机数
结果如图
A=rand(2,3,'double');%指定生成随机数数据类型
A=rand(2,3,'single');%指定生成随机数数据类型
结果如图
以上rand()函数的应用是产生0到1范围内的随机数,如果想产生其他范围的随机数,则如A = a + (b-a).*rand(N,1),产生(a,b)范围内的随机数,如图
对于运行时需要固定随机数的,如下
s = rng;
r = rand(1,5)
rng(s)
r = rand(1,5)
可产生两组相同的随机数,如图始级脂
对于需要每一次启动Matlab都需要设置不同的随机数程净捧序来说,可用
rand('seed',sum(100*clock))
A=rand(2,2)
如图
randi()的函数用法是生成某一范围的整数随机数,如A=randi([2 8],2,2),则生成[2 8]范围内的2×2的整数矩阵,如图
同样可以产生复数,如A=rand+i*rand,结果如图