Matlab中随机数rand等的⽤法
Matlab中随机数rand等的⽤法
Matlab中有关随机数rand的函数有⾮常多,希望能在这⽚⽂章中进⾏总结汇总,会随着我看的程序不断更新。
rand()
rand()函数主要的功能是⽣成0-1之间的随机数,其中输⼊参数决定⽣成的是单个随机数、随机数向量还是矩阵,具体例⼦如下:产⽣单个随机数
函数:rand()
结果:
产⽣随机数向量
函数:rand(1,3)
结果:
产⽣随机数矩阵
函数:rand(2,3)
结果:
这⾥需要注意当rand()只有⼀个int输⼊参数时,⽣成的不是向量,⽽是⼀个⽅阵,例⼦如下:
函数:rand(3)
结果:
使⽤rand()⽣成某范围内随机数
通过上⾯的例⼦我们知道,rand()可以⽣成0-1的随机数,但如果我们希望⽣成某范围内的随机数应该
怎么办,例⼦如下:⽣成0-n范围内的随机数
rand()*n
⽣成m-n范围内的随机数
m<n
m+rand()*(n-m)
rand()中seed的⽤法
seed的⽬的是为了让随机数产⽣的不那么随机,使⽤⽅法如下:
n=5;
rand('seed',n); %在⽤rand()⽣成随机数前,使⽤seed,这⾥的n为⼀确定整数
rand(1,3)
结果:
思考:
通过上⾯的例⼦,我们可以看出,每⼀个整数seed,相当于对应了⼀个随机数的库,当确定了seed的值后,也就相当于告诉了rand()需要去哪个随机数库中不断取随机数。所以虽然rand(‘seed’,n)之后,每次rand()的值不是相同的,但每次rand(‘seed’,n)之后,第⼀次的rand()的值是相同的,第⼆次对应的rand()的值也是相同的。
rand(‘seed’,n)设定后,除了对rand()⽣效,对所有类似的随机数产⽣函数都⽣效。
randperm()
主要功能:随机⽣成⼀个由整数构成的向量。
其可以有⼀个输⼊参数randperm(n)
或两个输⼊参数randperm(m,n)
⼀个输⼊参数
函数格式:randperm(n)
matlab生成随机数功能:将1-n这n个整数随机排列成⼀个向量
结果:
两个输⼊参数
函数格式:randperm(m,n)
功能:在1-m这m个整数中,随机选取n个,并随机排列成⼀个向量(m需要⼤于n)
结果:
randperm()的常⽤⽅法
randperm()经常⽤来调换矩阵中⾏或者列的顺序:
当我们需要对原矩阵中的⾏或者列进⾏重新的随机排列时,使⽤randperm()是⾮常合适的,具体例⼦如下:
参考
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论