提取解决方案由补集提供的解决方案

时间:2017-10-17 16:41:23

标签: sympy

solveset给出的解决方案如下:

  

{A} \ {B}

如何将A分配给新变量?

例如

solveset((x-y)/(x-t),x,domain=S.Reals)

返回R与{y} \ {t}

的交点

1 个答案:

答案 0 :(得分:1)

这应该按字面意思做你所要求的,但你的意图并不是那么清楚。这是你的意思吗?

>>> complement = solveset((x-y)/(x-t),x,domain=S.Reals)
>>> f, c = complement.args
>>> new_var = f.args[1].args[0]; new_var
y

如果你的意思是你不希望它显示为与R的交集,那么声明y是真实的:y = symbols('y', real=True)。在这种情况下,您只需将FiniteSet作为补码的第一个参数而不是Union。