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

计算机基于正态分布算法

发布时间: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)生成随机数,但涉及更复杂的计算误差函数的小块土地(非初等函数)更好:盒子-穆勒算法,生成在很长一段时间的正态分布随机数的“标准”算法。


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

阅读全文

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

热点内容
程序员被逮捕的判决 浏览:813
android定位获取城市 浏览:599
做服务器客户怎么去找 浏览:997
程序员升职可以干什么 浏览:301
单片机原理课程设计大纲 浏览:909
cad命令大全图表下载 浏览:389
程序员去印度工作 浏览:422
苹果app活动怎么导出 浏览:5
pdf转高清图片 浏览:35
人人玩棋牌源码 浏览:347
如何获取美团服务器时间 浏览:342
php简单加密算法 浏览:795
什么是开服务器 浏览:607
cd4017单片机怎么用 浏览:265
鸟哥pdf 浏览:242
忘记加密的密码了怎么办 浏览:560
好友信息提示音在哪个文件夹 浏览:276
怎么让云服务器转发本地端口 浏览:47
python数组剔除元素 浏览:16
推荐一款解压的手机游戏 浏览:48