我是靠谱客的博主 健忘狗,最近开发中收集的这篇文章主要介绍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语言产生服从正态分布的随机数,C语言产生满足正态分布的随机数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部