SymPy 使用指南
一作:GPT-4 二作:Microsoft Copilot 审稿:M.T.Dickens
SymPy 新手教程
1. 安装 SymPy
首先,你需要在你的 Python 环境中安装 SymPy。你可以使用 pip 来安装:
2. 基础知识
2.1 导入 SymPy 和创建符号
在使用 SymPy 之前,你需要导入它,并创建你需要的符号:
2.2 基本运算
SymPy 支持基本的数学运算,如加法、减法、乘法、除法和指数运算:
from sympy import symbols
x, y = symbols('x y')
expr = x + y
print(expr) # 输出:x + y
expr = x - y
print(expr) # 输出:x - y
expr = x * y
print(expr) # 输出:x*y
expr = x / y
print(expr) # 输出:x/y
expr = x**y
print(expr) # 输出:x**y
2.3 求导和积分
SymPy 可以进行求导和积分运算:
from sympy import symbols, diff, integrate
x = symbols('x')
# 求导
expr = x**2
derivative = diff(expr, x)
print(derivative) # 输出:2*x
# 积分
integral = integrate(expr, x)
print(integral) # 输出:x**3/3
2.4 求解方程
SymPy 可以用于求解方程。例如,我们可以求解一元二次方程 \(x^2 - 3x + 2 = 0\):
from sympy import symbols, Eq, solve
x = symbols('x')
# 创建方程
equation = Eq(x**2 - 3*x + 2, 0)
# 求解方程
solution = solve(equation, x)
print(solution) # 输出:[1, 2]
3. 高级技巧
3.1 替换
SymPy 的 subs
方法可以用于替换表达式中的符号或函数:
from sympy import symbols
x, y = symbols('x y')
expr = x + y
new_expr = expr.subs(x, 1)
print(new_expr) # 输出:y + 1
3.2 替换函数但不替换其导数
如果你想替换函数 \(f(x)\) 但不替换其导数 \(\frac{df}{dx}\),你可以使用以下技巧:
from sympy import symbols, Function, diff
x = symbols('x')
f = Function('f')(x)
g = Function('g')(x)
f_prime = diff(f, x)
expr = f + f_prime
new_expr = expr.subs({f: 0, f_prime: g})
final_expr = new_expr.subs(g, f_prime)
print(final_expr) # 输出:Derivative(f(x), x)
这个代码将会打印出 \(f'(x)\),因为 \(f(x)\) 被替换为 0,但 \(f'(x)\) 没有被替换。
3.3 展开和化简表达式
SymPy 提供了 expand
和 simplify
函数,可以用于展开和化简表达式:
from sympy import symbols, expand, simplify
x, y = symbols('x y')
# 展开表达式
expr = (x + y)**2
expanded_expr = expand(expr)
print(expanded_expr) # 输出:x**2 + 2*x*y + y**2
# 化简表达式
simplified_expr = simplify(expanded_expr)
print(simplified_expr) # 输出:(x + y)**2
以上就是 SymPy 的基础教程,希望对你有所帮助。如果你想了解更多关于 SymPy 的信息,你可以查阅其官方文档。这个教程只是 SymPy 功能的冰山一角,SymPy 还有许多其他强大的功能等待你去探索。祝你学习愉快!