有了这个片段:
from sympy import *
init_printing(use_latex='mathjax')
a,b,c=symbols('a b c')
ratsimp(a+1/b+1/c)
我得到
a + (b + c)/(b*c)
虽然我想得到
(a*b*c + b + c)/(b*c)
因为我需要分数的分子。
是否可以?
这是一个屏幕截图,我得到
Out[1]
而我想得到 Out[2]
:最佳答案
正如 ratsimp
文档所说,它的最后一步是减少有理函数,即提取其多项式部分。由于这不是您想要的,您不应该使用 ratsimp
。相反,使用 cancel
使所有内容都超过公分母,如果您希望分子和分母分开,也可以使用 .as_numer_denom()
>>> cancel(a+1/b+1/c)
(a*b*c + b + c)/(b*c)
>>> f, g = cancel(a+1/b+1/c).as_numer_denom()
>>> f
a*b*c + b + c
>>> g
b*c
关于python - 在 sympy 中,ratsimp 是否也可以简化非分数元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36236960/