python 均匀分布
时间: 2023-06-21 15:19:38 浏览: 90
在 Python 中,可以使用 SciPy 库的 stats 模块来生成均匀分布的随机数。具体操作步骤如下:
1. 导入所需的库和模块:
```python
from scipy.stats import uniform
import matplotlib.pyplot as plt
import numpy as np
```
2. 生成均匀分布的随机数:
```python
a = 0 # 下限
b = 10 # 上限
size = 1000 # 随机数的个数
data_uniform = uniform.rvs(size=size, loc=a, scale=b-a)
```
其中 loc 和 scale 分别为分布的起点和终点,size 表示生成的随机数的个数。
3. 对随机数进行可视化:
```python
count, bins, ignored = plt.hist(data_uniform, 20, density=True)
plt.plot(bins, np.ones_like(bins)/(b-a), linewidth=2, color='r')
plt.show()
```
以上代码将生成包含 20 个区间的直方图,并在图中显示出均匀分布的概率密度函数。
需要注意的是,本例中所生成的随机数并不是均匀分布的随机数,而是在均匀分布下的随机采样。如果需要生成真正的均匀分布随机数,可以使用 numpy 库中的 random 模块,如下所示:
```python
data_uniform = np.random.uniform(low=a, high=b, size=size)
```
阅读全文