用math,numpy,matlibplot.pyplot模块编程绘制正态分布的概率密度函数 V210 其中参数从,G>0由用户指定,并将参数标注在图上。
时间: 2024-03-10 08:48:03 浏览: 89
好的,以下是实现正态分布概率密度函数的 Python 代码:
```python
import math
import numpy as np
import matplotlib.pyplot as plt
# 获取参数 G
G = float(input("请输入参数 G:"))
# 定义概率密度函数
def normal_pdf(x, mu=0, sigma=1):
return math.exp(-(x-mu)**2 / (2*sigma**2)) / (sigma * math.sqrt(2*math.pi))
# 定义 x 轴数据范围
x = np.linspace(-10*G, 10*G, 1000)
# 计算 y 轴数据
y = [normal_pdf(i, sigma=G) for i in x]
# 绘制图像
plt.plot(x, y)
plt.xlabel("x")
plt.ylabel("Probability Density")
plt.title("Normal Distribution with G={}".format(G))
plt.annotate("G={}".format(G), xy=(0, 0), xytext=(G, 0.2), arrowprops=dict(facecolor='red', shrink=0.05))
plt.show()
```
代码解释:
1. 用户输入参数 G,用 float() 函数将输入值转换成浮点数类型。
2. 定义概率密度函数 normal_pdf(x, mu, sigma),其中 x 为自变量,mu 为均值,默认为 0,sigma 为标准差,默认为 1。
3. 定义 x 轴数据范围,使用 numpy 的 linspace() 函数生成一个包含 1000 个元素的等差数列。
4. 计算 y 轴数据,使用列表推导式和 normal_pdf() 函数计算出每个 x 对应的 y 值。
5. 绘制图像,使用 matplotlib.pyplot 模块的 plot() 函数绘制曲线,使用 xlabel() 和 ylabel() 函数标注坐标轴,使用 title() 函数添加标题,使用 annotate() 函数标注参数 G 的值,并使用 show() 函数显示图像。
希望以上代码能够帮助你实现正态分布概率密度函数的绘制。
阅读全文