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}+ xfrac{x^2}{2} + xfrac{x^3}{3}.+ 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支持各种类型的积分变换,如下所示

  • 拉普拉斯变换(laplace_transform )
  • 傅里叶变换
  • 正弦波变换
  • 余弦变换
  • 汉克尔变换

这些函数都定义在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)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程