用python计算隐式积分函数轮廓

时间:2014-09-30 14:16:46

标签: python contour integral

我想我在这段代码中遗漏了一些内容:

integrand = lambda t,x,y: (1/(Tiempo-t))*np.exp(-((x-U*(Tiempo-t))**2+y**2)/(4*a*(Tiempo-t)))

def z_func(x,y,Rate,Conductivity):
    integral, err = integrate.quad(integrand,0,Tiempo,args=(x,y,))
    return ((Rate/(2*math.pi* Conductivity))*integral)

Z = z_func(X, Y, Ql, k)

cs = plt.contour(X, Y, Z,[IncT])

我有一个带积分的隐式函数,类似于f(x,y,t)=A*Integral,其中A是常量。它整合了t。我需要计算特定t值的轮廓。但是我收到了一些错误,例如"Supplied function does not return a valid float",这是评估z_func时的实际错误。

我做错了什么?还有另一种解决方法吗?

我应该添加我使用meshgrid:

     x = arange(-1.0,10.0,0.1)
     y = arange(-1.0,10.0,0.1)

     X,Y = meshgrid(x, y)

提前致谢!

1 个答案:

答案 0 :(得分:0)

要避免此错误,必须对z_func进行矢量化:

vz_func = np.vectorize(z_func)
Z = vz_func(X, Y, Ql, k)