上一次我们讲解了利用Python的2D绘图库matplotlib来绘制函数图像(用Python画函数图像),下面我们来讨论如何绘制带参数的函数图像。
下面我们用正态分布的概率密度在做例子(概率密度的图像为正态分布曲线),其概率密度如下:
用Python绘制带参数的函数图像
概率密度中包含两个参数,其中σ为分布的标准差,μ为分布的均值。
首先,根据概率密度公式,我们可以得到如下映射方法。其中参数u为均值,s为标准差;代码中的math.exp为计算自然对数e的幂,math.sqrt为开根号,math.pi为圆周率π。import math
def f_standard_normal_distribution(x,u,s):
return math.exp((-(x-u)**2)/2*(s**2))/(math.sqrt(2*math.pi)*s)
下面,我们在绘制方法中添加参数,并将参数传到映射方法中(因为需要对应传参,此时的draw_function不能再将映射方法作为参数了)。def draw_function(a,b,density,u,s):
x=numpy.linspace(a,b,density)
y=[f_standard_normal_distribution(i,u,s) for i in x]
pyplot.plot(x,y)
pyplot.show()
此时调用draw_function函数绘制正态分布曲线的结果如下:draw_function(-3,3,600,0,1)
用Python绘制带参数的函数图像【完整代码】如下:
import matplotlib.pyplot as pyplot