SymPy 积分,常数项
SymPy integration, constant term
我无法理解 sympy.integrate()
函数的行为。最简单的例子,积分与微分:
t = sy.Symbol('t')
t1 = sy.Symbol('t1')
f = sy.Function('f')(t)
I = sy.integrate(f, (t, 0, t1))
f1 = I.diff(t1)
print f1
打印以下内容:
f(t1) + Integral(0, (t, 0, t1))
但我希望只看到 f(t)
。调用 f1.simplify()
没有帮助。
为什么 sympy 不简化第二项?我该如何杀死它?
您可以调用 doit
方法:
>>> f1.doit()
f(t1)
我相信 SymPy 不愿意自动执行这些操作,因为它们的开销可能是任意的,而且没有通用的系统来预测它们的开销。但也许为 0 的积分添加一些试探法是明智的——我不知道。如果你有兴趣看到这个 "fixed" 你可能想考虑在 http://github.com/sympy/sympy/issues
为它打开一个问题
我无法理解 sympy.integrate()
函数的行为。最简单的例子,积分与微分:
t = sy.Symbol('t')
t1 = sy.Symbol('t1')
f = sy.Function('f')(t)
I = sy.integrate(f, (t, 0, t1))
f1 = I.diff(t1)
print f1
打印以下内容:
f(t1) + Integral(0, (t, 0, t1))
但我希望只看到 f(t)
。调用 f1.simplify()
没有帮助。
为什么 sympy 不简化第二项?我该如何杀死它?
您可以调用 doit
方法:
>>> f1.doit()
f(t1)
我相信 SymPy 不愿意自动执行这些操作,因为它们的开销可能是任意的,而且没有通用的系统来预测它们的开销。但也许为 0 的积分添加一些试探法是明智的——我不知道。如果你有兴趣看到这个 "fixed" 你可能想考虑在 http://github.com/sympy/sympy/issues
为它打开一个问题