如何在 C 或 C++ 中轻松生成遵循正态分布的随机数?
我不想使用任何 Boost。
我知道 Knuth 详细讨论了这个问题,但我现在手头没有他的书。
最佳答案
有很多方法可以generate Gaussian-distributed numbers from a regular RNG .
Box-Muller transform是常用的。它正确地生成具有正态分布的值。数学很简单。您生成两个(均匀)随机数,并通过对它们应用公式,您将得到两个正态分布的随机数。返回一个,并保存另一个以供下次请求随机数时使用。
关于c++ - 在 C/C++ 中生成遵循正态分布的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46927386/