介绍
sympy是一个Python库,用于符号数学运算,它可以用来处理代数表达式、微积分、方程求解等数学问题。sympy提供了一系列的函数和类,使得我们可以像在纸上演算一样进行数学操作。
基本用法
定义符号:在使用sympy之前,我们需要定义符号变量。这可以通过symbols函数完成。
表达式操作:使用sympy可以创建、简化、求导、积分等数学表达式。
方程求解:可以求解代数方程、微分方程等。
矩阵操作:sympy也支持矩阵操作,包括矩阵的加减乘除、求逆等。
可视化:可以绘制函数图像。
示例:
使输出更具可读性 :
from sympy import *
init_printing() # 使输出更具可读性
x, y, z = symbols('x y z')
expr = x**2 + 2*x*y + y**2
print(expr) # 输出: x**2 + 2*x*y + y**2
简化表达式
simplified_expr = simplify(expr)
print(simplified_expr) # 输出: (x + y)**2
求导
derivative = diff(expr, x)
print(derivative) # 输出: 2*x + 2*y
积分
integral = integrate(derivative, x)
print(integral) # 输出: x**2 + 2*x*y
求解方程
equation = Eq(x**2 - 4, 0)
solution = solve(equation, x)
print(solution) # 输出: [-2, 2]
矩阵操作
# 创建矩阵
A = Matrix([[1, 2], [3, 4]])
print(A) # 输出: Matrix([[1, 2], [3, 4]])
# 矩阵的逆
inverse_A = A.inv()
print(inverse_A) # 输出: Matrix([[-2, 1], [3/2, -1/2]])
绘制函数
from sympy.plotting import plot
# 绘制函数
plot(sin(x), (x, -5, 5))
微分方程求解
t = symbols('t')
f = Function('f')
# 定义微分方程
diff_eq = Eq(f(t).diff(t), t**2 - f(t))
# 求解微分方程
sol = dsolve(diff_eq, f(t))
print(sol) # 输出: f(t) == C1*exp(-t) + t**2/2 - t + 1
计算极限
limit_expr = limit(sin(x)/x, x, 0)
print(limit_expr) # 输出: 1
展开泰勒级数
series_expansion = series(exp(x), x, 0, 5)
print(series_expansion) # 输出: 1 + x + x**2/2 + x**3/6 + x**4/24 + O(x**5)