SymPy 是用于符号数学的 Python 科学计算库,其提供了我们熟悉的符号表达方式来计算极限,方程,积分等。而且还能以latex格式输出数学公式!!!

食用必知


首先导入库

import sympy as sp

进行计算前要先定义数学符号(符号函数和符号变量),相当于解方程前要设定未知量。

  • 变量和函数定义方式1
x, y, z = sp.symbols('x, y, z')     # 定义符号变量x, y, z
a, b = sp.symbols('a, b', cls=sp.Function)  # 定义多个符号函数
f = sp.Function('f')    # 定义符号函数
  • 变量和函数定义方式2
# 使用var函数定义符号变量或符号函数
sp.var("x, y, z") # 或 sp.var("a b c")  定义符号变量
sp.var("f, g", cls=sp.Function)  # 定义符号函数
  • 求解方程格式
S = sp.solve(f, *symbols)  # f为方程(组),symbols为符号变量
  • 举例

求解$ax^2+bx+c=0$

a,b,c,x = sp.symbols('a, b,c,x')
x0 = sp.solve("a*x**2+b*x+c", x)
print(x0)

输出结果如下:

[(-b + sqrt(-4*a*c + b**2))/(2*a), -(b + sqrt(-4*a*c + b**2))/(2*a)]

其余的食用方式见下面的链接:

  1. python之sympy库--数学符号计算与绘图必备
  2. SymPy 符号计算基本教程
  3. 官方文档
  4. 科研神器:Sympy推公式,无缝latex输出

参考:《python数学建模算法与应用》司守奎 孙玺菁