📜  Python SymPy中的主要功能(1)

📅  最后修改于: 2023-12-03 15:04:09.130000             🧑  作者: Mango

Python SymPy中的主要功能

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中的一些常用功能,当然还有很多其它有用的功能。