sympy可以在分母中集成一个Heaviside表达式吗?



我想这样做:

integrate(1/(1 + Heaviside(x)),x)

它只返回未求值的Integral(1/(Heaviside(x) + 1), x)

问题是Heaviside(0)没有定义。例如,在Mathematica中,有UnitStep函数,它与Heaviside类似,只是UnitStep(0)等于1。我能模仿一下吗?

我试过Heaviside(x,1),它不起作用。

我不认为问题出在Heaviside(0)。只是sympy在集成例程中没有处理这种特殊情况的代码。您可以通过将Heaviside重写为Piecewise:

来帮助它。
In [36]: Integral(1/(Heaviside(x) + 1), x).rewrite(Piecewise).doit()
Out[36]: 
⎧x  for x < 0
⎪            
⎨x           
⎪─  otherwise
⎩2 

最新更新