【发布时间】:2018-03-12 21:58:01
【问题描述】:
我的练习是将一些功能与 sympy 集成。第一个积分是(我要在图片上加,因为这里不能用latex,但是代码里也可以看到):
与
a 是一个实常数。
这是我的代码:
%pylab inline
from sympy import *
init_printing()
v, a = symbols('v, a', real=True, nonzero=True)
f = sqrt(2/pi)*(v**2*exp((-v**2)/(2*a**2)))/(a**3)
print(integrate(v*f, (v, 0, oo)))
(注意:我只使用 print 来获得这个可复制的结果) 但是结果真的很丑:
Piecewise((2*sqrt(2)*a/sqrt(pi), Abs(periodic_argument(polar_lift(a)**(-2), oo)) < pi/2), (Integral(sqrt(2)*v**3*exp(-v**2/(2*a**2))/(sqrt(pi)*a**3), (v, 0, oo)), True))
但随着修改
v, a = symbols('v, a', positive=True)
或
v, a = symbols('v, a', negative=True)
结果是
2*sqrt(2)*a/sqrt(pi)
但据我所知,唯一具有既不是负也不是正的属性的实数是零——应该用“非零=真”部分排除。
问:如何使用我的第一个代码来获得“不错”的结果?
【问题讨论】:
标签: python-3.x sympy