0

この関数を Python に統合しようとしています。

I = 積分(積分( g(y) * ln[f(x,y)/g(y)] dx) dy) ここで、g(y) = 0 から 1 までの積分(f(x,y)dx)

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