python中涉及sympy集成的函数

polhcujo  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(424)

我想定义一个函数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传递给integrate,并尝试对2进行积分。
如果我写下:

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

但那看起来真的很笨重。
有没有办法用x来象征性地计算积分,然后用这个结果定义函数g(x)?

koaltpgm

koaltpgm1#

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

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

相关问题