正态分布的随机数生成算法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正态分布的随机数生成算法相关的知识,希望对你有一定的参考价值。
一、正态分布的随机数生成算法
前面介绍的都是均匀分布的随机数生成算法,在科学及工程应用中,正态分布的随机数也是经常用到的。对于一个给定的正态分布,描述该正态分布的参数包括均值μ和方差,在数学上,一种近似的产生正态分布的算法如下:
Ri为[0,1]之间的均匀分布的随机数。当n趋向于无穷大时,得到的随机分布为正态分布。关于这个算法更为详细的数学讨论,读者可以参阅概率统计相关的书籍,这里将直接引用。
在实际应用中,不可能取n为无穷大。一般来说,n足够大就可以了。为了计算的方便,可以取n=12,这样上式分母中的根号便可以忽略,而且得到的结果也已经足够形成正态分布了。
按照上述算法,可以编写正态分布的随机数生成算法,代码示例如下:
在上述代码中,输入参数u即正态分布的均值μ,输入参数t即正态分布的方差,输入参数r 为随机种子在该程序中,使用了前面的[0, 1]之间均匀分布的随机数算法Rand0l()。
下面结合一个完整的实例来分析如何产生需要的正态分布随机数。假设需要的正态分布均值//=2.0,方差=3.52。完整的程序代码示例如下:
http://www.manonggu.com/suancheng/view653.html
以上是关于正态分布的随机数生成算法的主要内容,如果未能解决你的问题,请参考以下文章