概述
C语言中可以通过rand函数生成满足均匀分布的随机数,但是生成满足正太分布的随机数就没有那么简单了,下面对常用的几种方法进行总结并用C++编程实现。
方法一:由均匀分布的随机数来产生
一个简单可行的并且容易编程的方法是:求12个在(0,1)上均匀分布的和,然后减6(12的一半)。这种方法可以用在很多应用中,这12个数的和是Irwin-Hall分布;选择一个方差12。但此推导的结果限制在(-6,6)之间,并且密度为12。
方法二:Box-Muller方法
Box-Muller方法是以两组独立的随机数U和V,这两组数在(0,1]上均匀分布,用U和V生成两组独立的标准常态分布随机变量X和Y:
方法三:由正态分布曲线图形得到的直观结果
图1 正态分布曲线
从上图可以看出&
最后
以上就是健忘狗为你收集整理的c语言产生服从正态分布的随机数,C语言产生满足正态分布的随机数的全部内容,希望文章能够帮你解决c语言产生服从正态分布的随机数,C语言产生满足正态分布的随机数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复