0

我正在尝试将此功能集成到 Python 中:

I = 积分(积分(g(y) * ln[f(x,y)/g(y)] dx) dy) 其中 g(y) = 积分(f(x,y)dx) 从 0 到 1

eq = lambda x: x #NOTE: want to be able to be able to input any equation
f = lambda x,y: math.exp(-1.0*(eq(x)-y)**2)
g = lambda y: integrate.quad(f, 0, 1, args=(1,))[0]
combined = lambda x, y: g(y) * math.log(f(x,y) / g(y))
combInt = lambda y: integrate.quad(combined, 0,1, args=(1,))[0]
I = integrate.quad(combInt, -np.inf, np.inf)[0]

然而,当我运行我的代码时,我发现“g”是常数,而“I”是负数。我是否错误地使用了 quad 函数?g怎么可能是常数?

4

0 回答 0