- SymPy 教程
- SymPy - 主页
- SymPy - 简介
- SymPy - 安装
- SymPy - 符号计算
- SymPy - 数字
- SymPy - 符号
- SymPy - 替换
- SymPy - sympify() 函数
- SymPy - evalf() 函数
- SymPy - Lambdify() 函数
- SymPy - 逻辑表达式
- SymPy - 查询
- SymPy - 简化
- SymPy - 导数
- SymPy - 集成
- SymPy - 矩阵
- SymPy - 函数类
- SymPy - 四元数
- SymPy - 求解器
- SymPy - 绘图
- SymPy - 实体
- SymPy - 套装
- SymPy - 打印
- SymPy 有用资源
- SymPy - 快速指南
- SymPy - 有用的资源
- SymPy - 讨论
SymPy - 集成
SymPy 包包含积分模块。它实现了计算表达式的定积分和不定积分的方法。Integrate() 方法用于计算定积分和不定积分。要计算不定积分或原始积分,只需在表达式后面传递变量即可。
例如 -
integrate(f, x)
要计算定积分,请按如下方式传递参数 -
(integration_variable, lower_limit, upper_limit)
>>> from sympy import * >>> x,y = symbols('x y') >>> expr=x**2 + x + 1 >>> integrate(expr, x)
上面的代码片段给出了相当于下面表达式的输出 -
$\frac{x^3}{3} + \frac{x^2}{2} + x$
>>> expr=sin(x)*tan(x) >>> expr >>> integrate(expr,x)
上面的代码片段给出了相当于下面表达式的输出 -
$-\frac{\log(\sin(x) - 1)}{2} + \frac{\log(\sin(x) + 1)}{2} - \sin(x)$
定积分的例子如下 -
>>> expr=exp(-x**2) >>> integrate(expr,(x,0,oo) )
上面的代码片段给出了相当于下面表达式的输出 -
$\frac{\sqrt\pi}{2}$
您可以传递多个极限元组来执行多重积分。下面给出一个例子 -
>>> expr=exp(-x**2 - y**2) >>> integrate(expr,(x,0,oo),(y,0,oo))
上面的代码片段给出了相当于下面表达式的输出 -
$\frac{\pi}{4}$
您可以使用 Integral 对象创建未计算的积分,该对象可以通过调用 doit() 方法进行计算。
>>> expr = Integral(log(x)**2, x) >>> expr
上面的代码片段给出了相当于下面表达式的输出 -
$\int \mathrm\log(x)^2 \mathrm{d}x$
>>> expr.doit()
上面的代码片段给出了相当于下面表达式的输出 -
$x\log(x)^2 - 2xlog(x) + 2x$
积分变换
SymPy 支持各种类型的积分变换,如下所示 -
- 拉普拉斯变换
- 傅里叶变换
- 正弦变换
- 余弦变换
- 汉克尔变换
这些函数在 sympy.integrals.transforms 模块中定义。以下示例分别计算傅里叶变换和拉普拉斯变换。
实施例1
>>> from sympy import fourier_transform, exp >>> from sympy.abc import x, k >>> expr=exp(-x**2) >>> fourier_transform(expr, x, k)
在 python shell 中执行上述命令时,将生成以下输出 -
sqrt(pi)*exp(-pi**2*k**2)
这相当于 -
$\sqrt\pi * e^{\pi^2k^2}$
实施例2
>>> from sympy.integrals import laplace_transform >>> from sympy.abc import t, s, a >>> laplace_transform(t**a, t, s)
在 python shell 中执行上述命令时,将生成以下输出 -
(s**(-a)*gamma(a + 1)/s, 0, re(a) > -1)