Python 为什么在积分实值对数表达式时,辛积分会引入虚常数?
我在研究这个问题时找到了解决方案,但我还是在这里发布了问题/答案。我在网上搜索时找不到其他资源,所以我希望这篇文章能对将来的人有所帮助 您好,我正在使用Python 为什么在积分实值对数表达式时,辛积分会引入虚常数?,python,sympy,Python,Sympy,我在研究这个问题时找到了解决方案,但我还是在这里发布了问题/答案。我在网上搜索时找不到其他资源,所以我希望这篇文章能对将来的人有所帮助 您好,我正在使用sympy计算分段定义函数的积分。 然而,积分引入了虚常数 最小示例 给 为什么积分中有虚常数?我模模糊糊地记得一些复杂分析中关于分支切割的内容,所以它可能与此有关 问题公式的来源是适用于损耗超标曲线的 预期结果 如果我只积分第一个表达式,我得到一个不带常数的实值积分: In [71]: integrate(ln(20000-100*p))
sympy
计算分段定义函数的积分。
然而,积分引入了虚常数
最小示例
给
为什么积分中有虚常数?我模模糊糊地记得一些复杂分析中关于分支切割的内容,所以它可能与此有关
问题公式的来源是适用于损耗超标曲线的
预期结果
如果我只积分第一个表达式,我得到一个不带常数的实值积分:
In [71]: integrate(ln(20000-100*p))
Out[71]: p*log(20000 - 100*p) - p - 200*log(p - 200)
但是这个结果也很奇怪,因为结果不会被定义为p=0.1
,因为p-200
将是负数。非常奇怪。将集成策略更改为manual
当使用manual=True
集成策略时,常数消失
In [84]: print('r='+latex(integrate(r,manual=True)))
我在位于的文档中找到了此选项
In [84]: print('r='+latex(integrate(r,manual=True)))