我需要整合表达式
使用scipy的integrate模块。
我试过了
def K(t,s):
return np.exp(lbda*(T-s))*np.exp(lbda*t)/(1-np.exp(lbda*T))
def sigma(s):
return np.sin(2*np.pi*s)
def integral(t):
result = integrate.quad(K*sigma, 0, T)
return result
但显然这是错误的,因为K
有两个变量,其中一个是未定义的。
作为参考,函数integral将以t
的不同值调用。
1条答案
按热度按时间y1aodyip1#
quad
的第一个参数必须是一个可调用函数,它的第一个参数是集成变量。(或使用lambda表达式)的被积函数来调用你现有的函数。把你要用到的所有参数都变成函数的实参也可能是个好主意,以避免使用全局变量。您可以通过quad
的args
参数传入这些变量。比如说
那么使用这些函数的代码可能看起来像这样: