优草派  >   Python

python函数符号sympy的用法

张晓东            来源:优草派

Sympy是Python中的一个符号计算库,旨在实现所有数学基础的符号计算,遵循MIT许可证。Sympy可以对表达式进行简化、展开、求导、积分、解方程、求极限、矩阵计算等等,同时也支持LaTeX输出。这里将从使用、表达式操作、求解方程、求导、矩阵等几个方面来介绍sympy的用法。

python函数符号sympy的用法

一、使用

为了确保使用sympy,首先需要安装sympy库。可以通过pip安装:

$ pip install sympy

二、表达式操作

Sympy可以对表达式进行简化、展开、约分等操作,下面介绍一些常用的操作:

1、simplify()——表达式化简

可用于对表达式进行化简,这个函数旨在尝试将给定表达式化为最简单形式,通过他可以消除表达式中的分数、负数、多项式、三角函数等冗余项,从而得到更简单的形式。

>>> from sympy import simplify, cos, sin, tan, exp, log

>>> from sympy.abc import x, y

>>> simplify((x**3 + x**2 - x - 1)/(x**2 + 2*x + 1))

(x - 1)**2

>>>

2、expand()——表达式展开

可用于对表达式进行展开,这个函数旨在尝试展开给定的表达式,从而消除括号,并将乘法扩展为和。

>>> from sympy import expand, symbols

>>> a, b = symbols('a b')

>>> expand((a + b)**3)

a**3 + 3*a**2*b + 3*a*b**2 + b**3

>>>

3、factor()——表达式因式分解

可用于对表达式进行质因数分解,对表达式中的多项式进行因式分解,从而得到其最约简分数形式。

>>> from sympy import factor, symbols, cos, sin, tan

>>> from sympy.abc import x, y

>>> factor(x**2 + 2*x + 1)

(x + 1)**2

>>>

三、解方程

Sympy可以解各种种类的方程,常见的有线性方程、二次方程、三次方程和多项式方程等,例如我们可以使用solve()函数求解一元二次方程和无理方程。

1、solve()——求解一元二次方程

可用于求解一元二次方程的解。solve()函数返回一个列表,列表的每个元素都是满足方程的一个解。

>>> from sympy import solve, symbols

>>> a, b, c = symbols('a b c')

>>> solve(a*x**2 + b*x + c, x)

[-b/2/a - sqrt(b**2 - 4*a*c)/2/a, -b/2/a + sqrt(b**2 - 4*a*c)/2/a]

>>>

2、nsolve()——求解无理方程

可用于求解超越方程,这是另一类求解方程的函数。nsolve()函数返回0的解。

>>> from sympy import nsolve, symbols

>>> from sympy import sin

>>> x = symbols('x')

>>> nsolve(sin(x) - 1, x,0)

3.14159265358979

>>>

四、求导

Sympy可以对表达式进行求导操作,通过diff()函数。

1、diff()——计算导数

可用于对表达式进行求导,这个函数返回对给定变量的一阶导数。

>>> from sympy import diff, symbols, cos, sin, exp, log, tan

>>> from sympy.abc import x, y

>>> diff(cos(x), x)

-sin(x)

>>>

5、矩阵

Sympy可以对矩阵进行基本的操作,例如求逆、行列式等,下面介绍一些常用的操作:

1、Matrix()——建立矩阵

可以通过Matrix()函数来建立一个矩阵。

>>> from sympy import Matrix

>>> a = Matrix([[1, 2], [3, 4]])

>>> a

[1, 2]

[3, 4]

>>>

2、inv()——矩阵求逆

可以通过inv()函数来求矩阵的逆。

>>> a.inv()

[-2, 1]

[3/2, -1/2]

>>>

3、det()——求矩阵行列式

可以通过det()函数来求矩阵的行列式。

>>> a.det()

-2

>>>

四、总结

Sympy是Python中一个功能强大的符号计算库,本文介绍了sympy在使用、表达式操作、求解方程、求导、矩阵等方面的用法。通过学习本文,相信大家已经能够初步了解sympy的使用方法和普遍应用,也应该能够使用sympy更好地解决各种数学问题。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行