python 使用Sage或Symy按变量的负幂降序对表达式重新排序

vwhgwdsa  于 2023-01-01  发布在  Python
关注(0)|答案(1)|浏览(163)

我有一句话

1/24*(8*(l + 1)*l + 5*(2*E*(l + 1)*l + 3)/E - 6)/E

我想将其重新排序到表单中

a * E**1 + b * E**0 + c * E**(-1) + d * E**(-2) + ...

sympy.simplify()给了我一个接近的结果。

from sympy import simplify
simplify(1/24*(8*(l + 1)*l + 5*(2*E*(l + 1)*l + 3)/E - 6)/E)

输出

(6*E*l**2 + 6*E*l - 2*E + 5)/(8*E**2)

它没有结合8*E**2
我期待的是

3/4*l**2*E**(-1) + 3/4*l*E**(-1) - 1/4*E**(-1) + 5/8*E**(-2)

这可能吗?

t98cgbkg

t98cgbkg1#

使用expand可以按照您想要的顺序排列各项:

>>> expand((6*E*l**2 + 6*E*l - 2*E + 5)/(8*E**2))
3*l**2/(4*E) + 3*l/(4*E) - 1/(4*E) + 5/(8*E**2)

相关问题