Julia 随机数

Julia 随机数

随机地生成数值,在许多场景中会用到,比如模拟中奖这种随机事件,或者蒙特卡罗(Monte Carlo)仿真等。但通过计算机生成随机数是一件很有挑战性的事,因为计算机的特点是一切都需要是明确的。科学家们发明了多种方法,制作出了各种伪随机数发生器(Random Number Generator, RNG),其中的马特赛特旋转演算是Julia默认采用的方法。

提示
如果开发者不愿意使用该RNG,可以借助AbstractRNG类加入新的RNG,以便使用。

另外,因为随机数模拟的实际是某个随机事件,所以也与统计分布相关,即大量的随机数序列会呈现某种数学分布特性,比如均匀分布正态分布指数分布等。Julia能够按照要求生成特定分布特性的随机数序列,并且还可以支持不同的数值类型,下面以浮点型为例,分别介绍三种常见分布的随机数生成方法

1.均匀分布随机数
函数rand()用于生成均匀分布的随机数。对于浮点类型来说,该函数生成的随机数所处的区间是[0,1),即小于1大于等于0的浮点数。例如:
Julia 随机数

如上所示,按照相同的方式反复地调用同一个函数,每次都会获得不同的数值,即获得了需要的随机序列。

2.正态分布随机数
函数randn()则是用于生成均值为0,方差为1的正态分布中的随机数,例如:
Julia 随机数

3.指数分布随机数
函数randexp()用于生成符合指数分布的随机数,例如:

julia> randexp()
1.6622581377218693

julia> randexp()
0.768276340842417

julia> randexp()
0.3918476058681037

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!