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