如何解决sympy 可以将表达式与分母中的 Heaviside 积分吗?
我想做类似的事情:
integrate(1/(1 + Heaviside(x)),x)
它只是返回未评估的 Integral(1/(Heaviside(x) + 1),x)
。
问题在于 Heaviside(0)
未定义。例如,在 Mathematica 中有 UnitStep
函数,它类似于 Heaviside
,只是 UnitStep(0)
等于 1。我可以在 sympy 中模仿这个吗?
我试过 Heaviside(x,1) 但它不起作用。
解决方法
我不认为问题在于Heaviside(0)
。只是 sympy 在集成例程中没有处理这种特殊情况的代码。您可以通过将 Heaviside 重写为分段来帮助它:
In [36]: Integral(1/(Heaviside(x) + 1),x).rewrite(Piecewise).doit()
Out[36]:
⎧x for x < 0
⎪
⎨x
⎪─ otherwise
⎩2
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。