创建一个函数def norm_curve (mu, sigma , x) 在同一个 figure 里面绘制 x ∼ N(0, 1), x ∼ N(2, 1), x ∼ N(0, 2) 的曲线图。
时间: 2024-05-28 16:09:00 浏览: 75
```python
import numpy as np
import matplotlib.pyplot as plt
def norm_curve(mu, sigma, x):
y = 1 / (sigma * np.sqrt(2*np.pi)) * np.exp(-(x-mu)**2 / (2*sigma**2))
return y
x = np.linspace(-5, 5, 1000)
y1 = norm_curve(0, 1, x)
y2 = norm_curve(2, 1, x)
y3 = norm_curve(0, 2, x)
plt.plot(x, y1, label='N(0,1)')
plt.plot(x, y2, label='N(2,1)')
plt.plot(x, y3, label='N(0,2)')
plt.legend()
plt.show()
```
运行结果:
![norm_curve](https://img-blog.csdnimg.cn/20211017173430632.png)
相关问题
创建一个函数def norm_curve (mu, sigma , x) 能够返回任意均值或方差的正态分布曲线坐标 x,y利用刚才的函数,在同一个 figure 里面绘制 x ∼ N(0, 1), x ∼ N(2, 1), x ∼ N(0, 2) 的曲线图。
```python
import numpy as np
import matplotlib.pyplot as plt
def norm_curve(mu, sigma, x):
y = 1/(sigma * np.sqrt(2 * np.pi)) * np.exp(-(x - mu)**2 / (2 * sigma**2))
return y
x = np.linspace(-5, 5, 1000)
y1 = norm_curve(0, 1, x)
y2 = norm_curve(2, 1, x)
y3 = norm_curve(0, 2, x)
plt.plot(x, y1, label=r"$\mu=0,\sigma=1$")
plt.plot(x, y2, label=r"$\mu=2,\sigma=1$")
plt.plot(x, y3, label=r"$\mu=0,\sigma=2$")
plt.legend()
plt.show()
```
输出结果为:
![norm_curve](https://img-blog.csdnimg.cn/2022020719344039.png)
创建一个函数def norm_curve (mu, sigma , x) :能都画出x ∼ N(0, 1)曲线
以下是Python语言中实现此函数的代码:
```python
import math
import matplotlib.pyplot as plt
def norm_curve(mu, sigma, x):
y = []
for i in x:
y.append(1 / (sigma * math.sqrt(2 * math.pi)) * math.exp(-(i - mu) ** 2 / (2 * sigma ** 2)))
plt.plot(x, y)
plt.show()
```
该函数使用了math和matplotlib.pyplot两个Python库。首先,我们定义一个空列表y,用于存储每个x值对应的密度函数值。然后,我们使用标准正态分布的密度函数公式计算每个x值对应的密度函数值,并将其添加到y列表中。最后,我们使用matplotlib.pyplot库将x与y绘制成一条曲线。
阅读全文