当支配者在表达式中时,我找不到变量的系数

I can't find the coefficient of a variable when a dominator is in expression

我一直试图找到一些冗长的表达式的系数,即使它们不为零,我得到的结果也等于 0

我认为问题是我在这个 mwe 上没有得到 (s1+s2)/s4 的结果:

Sym1,Sym2,Sym3,Sym4 = sy.symbols('s1, s2, s3, s4')
xx                  = sy.Symbol('x')
TestExp             = Sym1*xx + Sym2*xx + Sym3
print(TestExp.coeff(xx))
TestExp2            = (Sym1*xx + Sym2*xx + Sym3)/Sym4
print(TestExp2.coeff(xx))

coeff 非常直白,因此如果没有以 xx 作为因子的项,则它将 return 0。正如您的表达式一样,它显示为分数,a单个术语,并且该术语中没有 xx 的因子。 (但分子中有。)首先尝试扩展表达式:

>>> print(TestExp2.expand().coeff(xx))
s1/s4 + s2/s4

并用factor_termscollect触摸它以简化:

>>> factor_terms(_)
(s1 + s2)/s4