生成两个相互独立服从标准正态分布的随机变量
时间: 2024-06-13 12:04:13 浏览: 157
正态分布随机数.rar_C++_正态分布_随机数
5星 · 资源好评率100%
生成两个相互独立服从标准正态分布的随机变量可以使用Box-Muller算法。具体步骤如下:
1. 生成两个服从U(0,1)的随机数u1和u2。
2. 计算z1和z2:z1 = sqrt(-2 * ln(u1)) * cos(2 * pi * u2),z2 = sqrt(-2 * ln(u1)) * sin(2 * pi * u2)。
3. z1和z2就是两个相互独立服从标准正态分布的随机变量。
另外,还可以使用Accept/Reject算法来生成服从标准正态分布的随机变量。具体步骤如下:
1. 生成一个服从U(0,1)的随机数u。
2. 计算x = sqrt(-2 * ln(u))。
3. 生成一个服从U(0,1)的随机数v。
4. 如果v <= (exp(-x * x / 2) / sqrt(2 * pi)),则返回x;否则返回步骤1。
阅读全文