sympy求无穷上下界的定积分

阅读量: searchstar 2021-12-02 16:51:27
Categories: Tags:

sympy中,用oo来表示无穷,即。负无穷就是-oo,即

这里以为例给出求无穷上下界定积分的解析解和数值解的方法。

解析解

integrate。用法为integrate(函数,(变量,下限, 上限))

import sympy
x = sympy.symbols('x')
sympy.integrate(sympy.exp(-x), (x, 1, sympy.oo))

输出:

exp(-1)

但是这个函数有时候会抽风,明明是有值的会被算成无穷大。

数值解

Integral。用法为Integral(函数,(变量,下限, 上限))。但是这个只是一个表达式,对这个表达式再调用evalf就可以求出以浮点数表示的值。

import sympy
x = sympy.symbols('x')
sympy.Integral(sympy.exp(-x), (x, 1, sympy.oo)).evalf()
0.367879441171442

这就是的数值。

参考文献

Python求积分(定积分)

https://stackoverflow.com/questions/44480545/why-is-using-infinity-oo-in-sympy-faster-than-providing-an-integer-upper-bound

用python的库 sympy 求积分