sympy 中涉及集成的函数

Functions involving integration in sympy

我想定义一个函数 f(x),然后定义另一个函数作为其积分。

from sympy import *
x = symbols('x')
f = lambda x: x**2

我想做这样的事情:

g = lambda x: integrate(f(x),x)

问题是,如果我输入

g(2)

它失败了。这是因为在我调用它之前,它保持 g(x) 的右侧未计算。它将 2 传递给积分,并尝试对 2 进行积分。

我可以强制正确的行为,如果我写:

g = lambda x: integrate(f(s),s).subs(s,x)

但这看起来真的很笨重。

有没有办法根据x符号化求积分,然后定义函数g(x) 结果呢?

使用虚拟变量 foo 定义您的 g -- x 是您的真实变量,不能用作 lambda 变量:

>>> g = lambda foo: integrate(f(x), (x, foo))
>>> g(2)
8/3