python – Sympy集成没有给出正确的答案

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

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

《python – Sympy集成没有给出正确的答案》

当您尝试计算负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?

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

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

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