在 C/C 中生成随机正态偏差
生成遵循正态分布的随机数是各种应用程序中的常见任务。在 C/C 中,有多种方法可以在不依赖 Boost 等外部库的情况下实现此目的。
一种广泛使用的方法是 Box-Muller 变换,它将两个均匀分布的随机数转换为一对正态分布的随机数随机数。数学公式如下:
x = sqrt(-2 * ln(u1)) * cos(2 * M_PI * u2) y = sqrt(-2 * ln(u1)) * sin(2 * M_PI * u2)
其中u1和u2是[0, 1]范围内均匀分布的随机数。要生成单个随机正态偏差,请使用 Box-Muller 变换生成一对并返回其中一个,存储另一个以供后续使用。
以上是如何使用 Box-Muller 变换在 C/C 中生成随机正态偏差?的详细内容。更多信息请关注PHP中文网其他相关文章!