sympy求无穷上下界的定积分
sympy中,用oo
来表示无穷,即\(\infty\)。负无穷就是-oo
,即\(-\infty\)。
这里以\(\int_{1}^{+\infty}e^{-x}\mathrm{d}x\)为例给出求无穷上下界定积分的解析解和数值解的方法。
解析解
用integrate
。用法为integrate(函数,(变量,下限, 上限))
。
import sympy
x = sympy.symbols('x')
sympy.integrate(sympy.exp(-x), (x, 1, sympy.oo))
输出:
exp(-1)
即\(e^{-1}\)。
但是这个函数有时候会抽风,明明是有值的会被算成无穷大。
数值解
用Integral
。用法为Integral(函数,(变量,下限, 上限))
。但是这个只是一个表达式,对这个表达式再调用evalf
就可以求出以浮点数表示的值。
import sympy
x = sympy.symbols('x')
sympy.Integral(sympy.exp(-x), (x, 1, sympy.oo)).evalf()
0.367879441171442
这就是\(e^{-1}\)的数值。