如何解决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) ?
解决方法
使用虚拟变量 g
定义您的 foo
-- x
是您的真实变量,不能用作 lambda 的变量:
>>> g = lambda foo: integrate(f(x),(x,foo))
>>> g(2)
8/3
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。