standard logistic function在以下代码中编码为sigma
:
from sympy import *
x, sigma = symbols("x sigma")
sigma = 1/(1 + exp(-x))
plot(sigma);
当您尝试计算负值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?
答案 0 :(得分:1)
这看起来像是一个已在SymPy开发分支中修复的错误(将在SymPy 1.0中修复,即将发布)。
In [31]: sigma = 1/(1 + exp(-x))
In [32]: integrate(sigma,(x, -oo, 0))
Out[32]: log(2)