我想我在这段代码中遗漏了一些内容:
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)
提前致谢!
答案 0 :(得分:0)
要避免此错误,必须对z_func进行矢量化:
vz_func = np.vectorize(z_func)
Z = vz_func(X, Y, Ql, k)