码迷,mamicode.com
首页 > 编程语言 > 详细

正态分布的随机数生成算法

时间:2016-09-08 18:39:14      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:正态分布   程序   工程   数学   如何   

一、正态分布的随机数生成算法

    前面介绍的都是均匀分布的随机数生成算法,在科学及工程应用中,正态分布的随机数也是经常用到的。对于一个给定的正态分布,描述该正态分布的参数包括均值μ和方差,在数学上,一种近似的产生正态分布的算法如下:

    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

正态分布的随机数生成算法

标签:正态分布   程序   工程   数学   如何   

原文地址:http://12023575.blog.51cto.com/12013575/1850775

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!