使用VB 6.0生成具有高斯分布的伪随机数

时间:2013-08-02 03:54:42

标签: random vb6

我想在( - 无穷大无穷大)上生成一些伪随机数,其标准差 s 的高斯分布和均值< EM>米。有关如何做到这一点的任何建议?我很欣赏任何正确方向的帮助,因为似乎有很多文献可以说明如何最好地生成伪随机数。

1 个答案:

答案 0 :(得分:1)

您可以使用统一随机数生成器和适当的算法生成高斯分布(也称为正态分布)。查看[stackoverflow link to Gaussian algorithms] [1]

你真的想从+/-无限远?那有意义吗?

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

正常距离。随机#= SQRT(-2 * LN(兰德()))* SIN(2 * PI()* RAND())

Box-Muller方法在数学上是精确的,如果用完美的均匀随机数发生器和无限精度实现的话。 (oops ..在该公式中,mu / mean = 0且sigma = 1且随机#的介于0和1之间)请参阅http://mathworld.wolfram.com/Box-MullerTransformation.html