用VB6.0生成具有高斯分布的伪随机数



我想在(-infinityinfinity)上生成一些伪随机数,标准偏差s和均值m的高斯分布。关于如何做到这一点,有什么建议吗?我很感激在正确的方向上提供任何帮助,因为似乎有大量关于如何最好地生成伪随机数的文献。

您可以使用均匀随机数生成器和适当的算法生成高斯分布(也称为正态分布)购买。查看[stackoverflow链接到高斯算法][1]

你真的想从+/-无穷大开始吗?这有道理吗?

使用的一个简单算法是Box-Muller方法。

Normal Dist.Random#=SQRT(-2*LN(RAND()))*SIN(2*PI()*RAND(())

Box-Muller方法在数学上是精确的,如果用一个完美的均匀随机数生成器和无限精度来实现。(哦…在这个公式中,μ/均值=0,西格玛=1,随机数在0和1之间)参见http://mathworld.wolfram.com/Box-MullerTransformation.html

最新更新