📅  最后修改于: 2020-11-05 04:44:15             🧑  作者: Mango
SymPy软件包包含积分模块。它实现了计算表达式的定积分和不定积分的方法。 Integrated()方法用于计算定积分和不定积分。要计算不定或原始整数,只需在表达式后传递变量。
例如-
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)