box-muller

目录导航

概述

Box-Muller 是产生随机数的一种方法。Box-Muller 算法隐含的原理非常深奥,但结果却是相当简单。它一般是要得到服从正态分布的随机数,基本思想是先得到服从均匀分布的随机数再将服从均匀分布的随机数转变为服从正态分布。

方法

如果在 (0,1] 值域内有两个独立的随机数字 U1 和 U2,

可以使用以下两个等式中的任一个算出一个 正态分布的随机数字 Z:

Z = R * cos( θ )

Z = R * sin( θ )

其中,

R = sqrt(-2 * ln(U2))

θ = 2 * π * U1

正态值 Z 有一个等于 0 的 平均值和一个等于 1 的 标准偏差,可使用以下等式将 Z 映射到一个平均值为 m、标准偏差为 sd 的 统计量 X:

X = m + (Z * sd)

相关百科
返回顶部
产品求购 求购