如何将均匀分布(大多数随机数生成器产生的结果,例如在 0.0 和 1.0 之间)转换为正态分布?如果我想要我选择的平均值和标准差怎么办?
方法有很多:
- Do not使用博克斯穆勒。特别是当你画很多高斯数时。 Box Muller 产生的结果被限制在 -6 和 6 之间(假设双精度。浮点情况会变得更糟。)。而且它的效率确实低于其他可用的方法。
- Ziggurat 很好,但需要表查找(以及由于缓存大小问题而进行一些特定于平台的调整)
- 制服比例是我最喜欢的,只有一些加法/乘法和对数 1/50 的时间(例如).
- 反转 CDFis高效(并且被忽视,为什么?),如果你搜索谷歌,你可以快速实现它。对于准随机数来说这是强制性的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)