我是靠谱客的博主 健忘狗,这篇文章主要介绍c语言产生服从正态分布的随机数,C语言产生满足正态分布的随机数,现在分享给大家,希望可以做个参考。

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:

da107ff6dfa2cbb435ad5a4c00833147.png

1162dc9432d940a79114752e795c318c.png

方法三:由正态分布曲线图形得到的直观结果

图1 正态分布曲线

5a437a13307089d4aa9665f8915458b2.png

从上图可以看出&

最后

以上就是健忘狗最近收集整理的关于c语言产生服从正态分布的随机数,C语言产生满足正态分布的随机数的全部内容,更多相关c语言产生服从正态分布内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(306)

评论列表共有 0 条评论

立即
投稿
返回
顶部