我正在开发一个项目,该项目使用Sympy使用Eq()语句定义一系列双变量函数(例如:" Eq(j,Abs(i))&#34 ;),稍后'同意表达式,然后用一个已知值替换其中一个变量并解决缺失值。
我的问题是,如果可能的话,我如何定义这项工作的范围?例如:使用上面的等式,j = | i |,如果我只想要j超过-5的答案>我> 5是否有一种优雅的方式让它在任何时候插入i不在该范围内时返回False?
答案 0 :(得分:1)
您可以使用布尔运算符And
,Or
和Not
来组合均等和不等式(您还可以使用&
,|
和{分别为{1}}运营商。
我会创建一个布尔表达式来表示您希望满足的约束,在本例中为~
,并在最后替换其中的解决方案。像
And(-5 < i, i < 5)
请注意,我已允许约束包含已知值和未知值。如果它们仅包含未知值,则您不需要复制和更新已知值的字典。您可能希望将其包装在一个函数中。