sympy求无穷上下界的定积分
阅读量:
searchstar
2021-12-02 16:51:27
Categories:
Tags:
sympy中,用oo
来表示无穷,即∞。负无穷就是-oo
,即 − ∞。
这里以∫1+∞e−xdx为例给出求无穷上下界定积分的解析解和数值解的方法。
¶ 解析解
用integrate
。用法为integrate(函数,(变量,下限, 上限))
。
import sympy x = sympy.symbols('x') sympy.integrate(sympy.exp(-x), (x, 1, sympy.oo))
|
输出:
即e−1。
但是这个函数有时候会抽风,明明是有值的会被算成无穷大。
¶ 数值解
用Integral
。用法为Integral(函数,(变量,下限, 上限))
。但是这个只是一个表达式,对这个表达式再调用evalf
就可以求出以浮点数表示的值。
import sympy x = sympy.symbols('x') sympy.Integral(sympy.exp(-x), (x, 1, sympy.oo)).evalf()
|
这就是e−1的数值。
¶ 参考文献
Python求积分(定积分)
https://stackoverflow.com/questions/44480545/why-is-using-infinity-oo-in-sympy-faster-than-providing-an-integer-upper-bound
用python的库
sympy 求积分