1.用numpy生成均值为0、方差为1,包含10000个元素的正态分布的数组。 2.用matplotlib创建一个包含1行2列子图的图片,每个子图要包含图例、网格、标题,左边子图画出上面数组的密度分布的直方图,并将标准正态分布的密度分布函数图像和上述直方图画在同一图中,标准正态分布的密度分布函数为 𝑓(𝑥)=12𝜋 ⎯ ⎯ ⎯ ⎯ √ 𝑒 −𝑥 2 2 f(x)=12πe−x22 3.图片右边子图画出标准正态分布的概率分布函数图,可以利用sicpy中的概率模块计算概率分布,概率分布函数为 𝐹(𝑥)=∫ 𝑥 −∞ 𝑓(𝑥)dx
时间: 2024-03-09 11:45:45 浏览: 101
好的,我理解了您的问题。下面是代码实现:
```python
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
# 生成正态分布数组
data = np.random.normal(loc=0, scale=1, size=10000)
# 创建画布和子图
fig, axs = plt.subplots(1, 2, figsize=(10, 5))
fig.suptitle('正态分布')
# 左边子图
axs[0].hist(data, bins=50, density=True, alpha=0.6, label='密度分布')
x = np.linspace(-4, 4, 100)
axs[0].plot(x, norm.pdf(x), label='标准正态分布')
axs[0].legend()
axs[0].grid()
axs[0].set_title('密度分布')
# 右边子图
x = np.linspace(-4, 4, 100)
axs[1].plot(x, norm.cdf(x), label='概率分布')
axs[1].legend()
axs[1].grid()
axs[1].set_title('概率分布')
# 显示图像
plt.show()
```
解释一下代码:首先使用 numpy 生成正态分布数组,然后使用 matplotlib 创建一个包含 1 行 2 列子图的图片,每个子图包含图例、网格、标题。左边子图画出上面数组的密度分布的直方图,并将标准正态分布的密度分布函数图像和上述直方图画在同一图中。右边子图画出标准正态分布的概率分布函数图,利用 scipy 中的概率模块计算概率分布。最后显示图像。
阅读全文