假设我有两个函数,其中一个函数依赖于另一个函数。我现在需要将第一个函数放入第二个函数中,然后集成。
我已经尝试如下,但它不起作用,给出错误:*:'float'和'function'不支持的操作数类型
import scipy as sp
from scipy import integrate
def q_vals():
return lambda x: x / (0.3 * 0.7 * np.exp(- 0.224))
def transfer_fn_sq(q = q_vals()):
return lambda x: (np.log(1 + 2.34 * q) * (1 + 3.89 * q)
y = scipy.integrate.quad.(transfer_fn_sq, 1, np.inf)
我需要这样做,因为我有多个具有较长表达式的函数,这些函数依赖于前一个函数,所以我不能简单地将整个表达式输入到积分函数中。
谢谢
你为什么使用所有这些 lambda?
def q_vals(x):
return x / (0.3 * 0.7 * np.exp(- 0.224))
def transfer_fn_sq(x):
q = q_vals(x)
return np.log(1 + 2.34 * q) * (1 + 3.89 * q)
return sp.integrate.quad(transfer_fn_sq, 1, np.inf)