导航:首页 > 源码编译 > 计算机基于正态分布算法

计算机基于正态分布算法

发布时间:2023-06-12 18:55:28

A. 如何产生正态分布的随机数

•最简单的:rejection sampling,思路很简单,也很容易实现,但效率较差
•较复杂的:inverse CDF,直接利用累积分布函数(CDF)的反函数生成随机数,但计算中牵扯到比较复杂的误差函数erf(非初等函数)
•更好的:Box-Muller算法,在很长时间内都是生成正态分布随机数的"标准"算法。Box-Muller算法的特点是效率高,并且计算过程比较简单(只用到了初等函数)。参见:Box-Muller transform
•目前最好的(相较于其它实用算法):ziggurat算法,效率很高,很多现代的编程语言都使用了这一算法。ziggurat并不是人名,其含义是“金字形神塔”,不是埃及那个金字塔,而是古代苏美尔人建造的类金字塔结构的神坛:神坛由多层平台构成,每层平台都呈矩形、卵形或正方形,且自下而上面积逐渐减小。ziggurat算法实际上是一种改进的、包含查表操作的rejection sampling。

B. 如何产生正态分布的随机数

这个要看你的具体需求,有几种方法可以推荐。


首先最简单:rejection sampling,思维方式非常简单,容易实现,但效率很差更复杂:逆提供,直接使用累积分布函数的逆函数(CDF)生成随机数,但涉及更复杂的计算误差函数的小块土地(非初等函数)更好:盒子-穆勒算法,生成在很长一段时间的正态分布随机数的“标准”算法。


所以不管是那种算法,都需要你去花些功夫来了解一下,是不是适合自己,是不是适合去解决现在自己正在面临的问题,毕竟别的经验都只是一些参考。在自己的实践中逐步去发现自己的问题,找到最适合自己的很重要

阅读全文

与计算机基于正态分布算法相关的资料

热点内容
支付宝暗号加密操作 浏览:133
柯洁在哪个app下围棋 浏览:751
平板用什么app看内在美 浏览:609
cad计算机命令 浏览:173
邮箱设置域名服务器错误什么意思 浏览:671
硬盘解压失败受损蓝屏 浏览:654
应用和服务器是什么意思 浏览:485
程序员需要知道的网站 浏览:713
微信支付页面加密码怎么加 浏览:57
网络加密狗问题 浏览:698
cnc曲面编程实例 浏览:170
什么app零粉分发视频有收益 浏览:164
肯尼亚程序员 浏览:640
新科源码 浏览:661
如何判断服务器有没有带宽 浏览:44
天正建筑批量删除命令 浏览:96
cad最下面的一排命令都什么意思 浏览:456
pythonimportcpp 浏览:852
W10的系统怎么给U盘加密 浏览:372
华为手机代码编程教学入门 浏览:764