您必须指定
x
是实值变量。您可以在如下定义变量时执行此操作。
import sympy as sp
x = sp.symbols('x', real = True)
eq = sp.Eq(5*sp.Abs(4*x+2)+6,56)
sol = sp.solve(eq, x)
print(sol)
[-3, 2]
编辑:编辑
sympy.solveset
函数可以用来代替
sympy.solve
. 在这种情况下,您需要明确声明您正在reals域上求解。这样,就不必将变量定义为实数。
import sympy as sp
x = sp.symbols('x') # implies that x is complex
eq = sp.Eq(5*sp.Abs(4*x+2)+6,56)
sol = sp.solveset(eq, x, domain=sp.S.Reals)
print(sol)
{-3, 2}