我的练习是将一些功能与 sympy 集成。第一个积分是(我将把它添加到图像上,因为我在这里不能使用乳胶,但你也可以在代码中看到它):

和

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)))
Run Code Online (Sandbox Code Playgroud)
(注意:我只使用 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))
Run Code Online (Sandbox Code Playgroud)
但随着修改
v, a = symbols('v, a', positive=True)
Run Code Online (Sandbox Code Playgroud)
或者
v, a = symbols('v, a', negative=True)
Run Code Online (Sandbox Code Playgroud)
结果是
2*sqrt(2)*a/sqrt(pi)
Run Code Online (Sandbox Code Playgroud)
但据我所知,唯一既不为负也不为正的实数是零 - 并且应该将其与“nonzero=True”部分一起排除。
问:我可以用我的第一个代码做什么来获得“好的”结果?