SymPy是一个Python的科学计算库,用一套强大的符号计算体系完成诸如多项式求值、求极限、解方程、求积分、微分方程、级数展开、矩阵运算等等计算问题。
import sympy
1. 定义变量和表达式
1.1 定义一个Symbol类型的变量。
symbols("变量名", 变量类型)
# 定义1个变量x
x = symbols('x')
# 定义多个变量
x, y, z = symbols('x, y, z')
# 定义正数
x, y = symbols('x, y', positive=True)
# 定义实数
x, y = symbols('x, y', real=True)
# 定义整数
x, y = symbols('x, y', integer=True)
SymPy定义的变量在计算中可以放在表达式中输出。
from sympy import *
x = symbols("x")
print(x + 1)
输出:
x + 1
1.2 使用字符串定义表达式
from sympy import *
x, = symbols("x,")
str_ = "x**2 + 1"
expr = sympify(str_)
print(expr)
输出:
x**2 + 1
1.3 创建有理数
Rational(分子, 分母)
from sympy import *
expr = Rational(1, 3)
print(expr)
输出:
1/3
2. 替换
将表达式中的变量替换成其他变量、表达式或代入具体数值计算。可以传入列表进行多个变量同时替换。
subs(原变量, 要替换的值)
from sympy import *
x, y = symbols("x, y")
expr = x**2 + 1
print(expr)
expr = expr.subs(x, y)
print(expr)
expr = expr.subs(y, 4)
print(expr)
输出:
x**2 + 1
y**2 + 1
17
3. 输出值
SymPy输出数字时,默认输出化简后的代数表达式。如果想要输出float,使用evalf:
expr.evalf()
参数可选,为