📅  最后修改于: 2023-12-03 15:04:09.130000             🧑  作者: Mango
SymPy是一个用于符号计算的Python库,可以用其完成各种数学运算和方程求解。以下是SymPy中的主要功能:
SymPy作为符号计算库,最主要的功能就是可以对符号进行各种运算,如求导、积分等。
import sympy as sp
x = sp.Symbol('x')
y = sp.Function('y')(x)
f = sp.exp(x) * sp.cos(x)
f_diff = sp.diff(f, x) # 求导
g = sp.integrate(f_diff, x) # 积分
print(f_diff) # 输出 exp(x)*cos(x) - exp(x)*sin(x)
print(g) # 输出 exp(x)*sin(x) + C
SymPy也可以用于解方程,包括线性方程、非线性方程以及微分方程等。
import sympy as sp
x = sp.Symbol('x')
y = sp.Symbol('y')
eq1 = sp.Eq(x + y, 5)
eq2 = sp.Eq(x - y, 1)
sol = sp.solve((eq1, eq2), (x, y)) # 解方程
print(sol) # 输出 {x: 3, y: 2}
SymPy可以处理多项式,包括多项式乘法、多项式求余等。
import sympy as sp
x = sp.Symbol('x')
p1 = sp.Poly(x**2 + x + 1)
p2 = sp.Poly(x - 1)
p3 = p1 * p2 # 多项式乘法
p4 = sp.div(p3, p2) # 多项式除法
print(p3) # 输出 Poly(x**3 - 1, x, domain='ZZ')
print(p4) # 输出 (Poly(x**2 + x + 1, x, domain='ZZ'), Poly(0, x, domain='ZZ'))
SymPy也包含线性代数的功能,包括矩阵操作和向量计算等。
import sympy as sp
A = sp.Matrix([[1, 2], [3, 4]])
v = sp.Matrix([1, 2])
w = A * v # 矩阵乘法
print(w) # 输出 Matrix([[5], [11]])
SymPy还提供了一些简单的绘图功能,如绘制函数图像、绘制向量图等。
import sympy.plotting as syp
x = sp.Symbol('x')
syp.plot(sin(x), cos(x), (x, -sp.pi, sp.pi)) # 绘制函数图像
以上是SymPy中的一些常用功能,当然还有很多其它有用的功能。