生成一个符合正态分布的随机数的函数 random python
时间: 2023-07-30 15:06:04 浏览: 146
产生服从正态分布的一个随机数
4星 · 用户满意度95%
可以使用 Python 标准库中的 random 模块和 NumPy 库中的 random 模块生成符合正态分布的随机数。
使用 Python 标准库中的 random 模块生成符合正态分布的随机数的代码如下:
```python
import random
import math
def generate_normal_distribution(mean, std):
# Box-Muller transform
u1 = random.uniform(0, 1)
u2 = random.uniform(0, 1)
z = math.sqrt(-2 * math.log(u1)) * math.cos(2 * math.pi * u2)
return z * std + mean
```
使用 NumPy 库中的 random 模块生成符合正态分布的随机数的代码如下:
```python
import numpy as np
def generate_normal_distribution(mean, std):
return np.random.normal(mean, std)
```
以上两个函数都可以生成符合正态分布的随机数,其中第一个函数使用了著名的 Box-Muller 变换,适用于生成小批量的随机数,而第二个函数使用了 NumPy 库中的随机数生成函数,适用于生成大批量的随机数。
阅读全文