Python SymPy1:SymPy 变量、表达式

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()

参数可选,为

你可能感兴趣的:(Python,python)