matlab随机数⽣成⽅法
随机数⽣成⽅法
rand语句
产⽣在区间 **(0, 1)**的均匀随机数,它是平均分布在 **(0,1)**之间。
Y=rand(n)返回⼀个n*n的随机矩阵。如果n不是数量,则返回错误信息
Y=rand(m,n)或Y=rand([m n])返回⼀个m*n的随机矩阵
Y=rand(m,n,p,…)或Y=rand([m n p …])产⽣随机数组。例如rand(2,3,4)返回四个2*3的数组
Y = rand(size(A))返回⼀个和A有相同尺⼨的随机矩阵
其中,seed ⽤来控制 rand, 如果没有设置seed,每次运⾏rand产⽣的随机数都是不⼀样的。⽤了seed,⽐如设置rand(‘seed’,0),那么每次运⾏rand产⽣的随机数是⼀样的,这样对调试程序很有帮助
如果需要产⽣随机数值不是介于[0,1]区间,可以采⽤以下步骤将随机数值从[0,1]区间转换到其它区间。例如区间为[a,b],a为下限值,b为上限值。则算式:*x=(b-a)r + a。
例:⽤rand函数随机取100个从-1到1的数
x =(1-(-1))rand(1,100) +(– 1)
x = rand(1,100) * 2 – 1
random语句
y = random(‘分布的英⽂’,A1,A2,A3,m,n),表⽰⽣成 m ⾏ n 列的 m × n 个参数为 ( A1 , A2 , A3 ) 的该分布的随机数。
例:R = random(‘Normal’,0,1,2,4): ⽣成期望为 0,标准差为 1 的(2 ⾏ 4 列)2× 4 个正态随机数
R = random(‘Poisson’,1:6,1,6): 依次⽣成参数为 1到6的(1⾏6 列)6 个Poisson随机数
正态随机数⽣成normmd语句
R = normrnd(MU,SIGMA)⽣成均值为 MU,标准差为 SIGMA 的正态随机数
R = normrnd(MU,SIGMA,m)⽣成 1× m 个正态随机数
R = normrnd(MU,SIGMA,m,n)⽣成 m ⾏ n 列的 m × n 个正态随机数
例:R = normrnd([1 2 3;4 5 6],0.1,2,3)⽣成期望依次为[1,2,3;4,5,6], ⽅差为 0.1 的 2× 3 个正态随机数.
对数正态分布随机数⽣成lognrnd语句
R = lognrnd(MU,SIGMA)
R = lognrnd(MU,SIGMA,m)
R = lognrnd(MU,SIGMA,m,n
Poisson分布随机数⽣成poissrnd语句
R = poissrnd(lambda)
R = poissrnd(lambda,m)
R = poissrnd(lambda,m,n)
Rayleigh分布随机数⽣成raylrnd语句
R = raylrnd(B)
R = raylrnd(B,m)
R = raylrnd(B,m,n)
离散的均匀随机数⽣成unidrnd语句
R = unidrnd(N)
R = unidrnd(N,m)
matlab生成随机数R = unidrnd(N,m,n)
[A,B]上均匀随机数⽣成unifrnd语句
R = unifrnd(A,B)
R = unifrnd(A,B,m)
R = unifrnd(A,B,m,n)
特殊分布语句
betarnd 贝塔分布的随机数⽣成器
binornd ⼆项分布的随机数⽣成器
chi2rnd 卡⽅分布的随机数⽣成器
exprnd 指数分布的随机数⽣成器
frnd f分布的随机数⽣成器
gamrnd 伽玛分布的随机数⽣成器
geornd ⼏何分布的随机数⽣成器
hygernd 超⼏何分布的随机数⽣成器
lognrnd 对数正态分布的随机数⽣成器
nbinrnd 负⼆项分布的随机数⽣成器
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论