产生长度为 1000 数学期望为 5,方差为 10 的高斯随机序列,并根据该序列值画出其概率密度曲线。(不使用 pdf 函数)
时间: 2024-03-16 21:48:09 浏览: 10
下面是产生长度为 1000 数学期望为 5,方差为 10 的高斯随机序列,并绘制其概率密度曲线的 Python 代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 产生高斯随机序列
mu, sigma = 5, np.sqrt(10)
x = np.random.normal(mu, sigma, 1000)
# 绘制概率密度曲线
n, bins, patches = plt.hist(x, bins=50, density=True, alpha=0.75)
# 添加标签和标题
plt.xlabel('x')
plt.ylabel('Probability density')
plt.title('Gaussian distribution')
# 绘制拟合曲线
y = 1/(sigma * np.sqrt(2 * np.pi)) * np.exp( - (bins - mu)**2 / (2 * sigma**2))
plt.plot(bins, y, '--')
# 显示图形
plt.show()
```
上述代码中,我们使用了 `numpy.random.normal()` 函数产生了一个长度为 1000,数学期望为 5,方差为 10 的高斯随机序列 `x`。然后,使用 `matplotlib.pyplot.hist()` 函数绘制了该序列的概率密度曲线。最后,我们通过手动计算正态分布概率密度函数的方式,绘制了一条拟合曲线。运行上述代码,即可得到该高斯随机序列的概率密度曲线图。