Python sympy 用例 备查

# 定义变量
x, y = sympy.symbols("x,y")
# 定义公式
f = 2*x+2*(x+y)*x+x**0
# 输出合并后方程
print(f)

输出:

x*(2*x + 2*y) + 2*x + 1

==================================================

# 禁止交换位置
x, y = sympy.symbols("x,y", commutative=False)
print(x*y)
print(y*x)

输出:

x*y
y*x

==================================================

# 动态方程(字符串转方程)
vftest = "2*x+2*(x+y)"
print(eval(vftest))

输出:

4*x + 2*y

==================================================

# 定义变量
x = sympy.symbols("x")
# 公式展开用expand方法
f = (1+2*x)*x**2
ff = sympy.expand(f)
print(ff)

# 公式折叠用factor方法
f = x**2+1+2*x
ff = sympy.factor(f)
print(ff)

输出:

2*x**3 + x**2
(x + 1)**2

==================================================

# 定义变量
x = sympy.symbols("x")
# 公式展开用apart方法,和expand区别不是很大,常用于分数进行分离
f = (x+2)/(x+1)
ff = sympy.apart(f)
print(ff)

# 公式折叠用tegother方法,常用于分数
f = (1/x+1/y)
ff = sympy.together(f)
print(ff)

输出:

1 + 1/(x + 1)
(x + y)/(x*y)

==================================================

# 通分
f = sympy.cancel(f)
# n的阶乘
f = sympy.factorial(n)
# 查看表达式
print(sympy.srepr(f))

==================================================
元素替换

x, y, z = sympy.symbols("x,y,z")
# 公式中的项 x 替换为 y
f = f.subs(x,y)
# 公式中符合 x*y 的部分替换为 z
f = f.subs(x*y,z)
posted @ 2020-08-18 08:55  太晓  阅读(463)  评论(0编辑  收藏  举报