Sympy整合并没有给出正确的答案

时间:2016-02-22 22:07:40

标签: python sympy

standard logistic function在以下代码中编码为sigma

from sympy import *
x, sigma = symbols("x sigma")
sigma = 1/(1 + exp(-x))
plot(sigma);

logistic function

当您尝试计算负值x的曲线下方的区域时:

integrate(sigma,(x, -oo, 0))  # This gives NaN

如果您需要正确的答案,您需要计算以下限制,这必须是log(2)

t = symbols("t")
limit(integrate(sigma, (x, -t, 0)), t, oo) # log(2)

为什么SymPy没有正确整合sigma?

1 个答案:

答案 0 :(得分:1)

这看起来像是一个已在SymPy开发分支中修复的错误(将在SymPy 1.0中修复,即将发布)。

In [31]: sigma = 1/(1 + exp(-x))

In [32]: integrate(sigma,(x, -oo, 0))
Out[32]: log(2)