在Sympy(Python 2.7)中定义函数的范围?

时间:2014-08-02 23:21:15

标签: python range sympy

我正在开发一个项目,该项目使用Sympy使用Eq()语句定义一系列双变量函数(例如:" Eq(j,Abs(i))&#34 ;),稍后'同意表达式,然后用一个已知值替换其中一个变量并解决缺失值。

我的问题是,如果可能的话,我如何定义这项工作的范围?例如:使用上面的等式,j = | i |,如果我只想要j超过-5的答案>我> 5是否有一种优雅的方式让它在任何时候插入i不在该范围内时返回False?

1 个答案:

答案 0 :(得分:1)

您可以使用布尔运算符AndOrNot来组合均等和不等式(您还可以使用&|和{分别为{1}}运营商。

我会创建一个布尔表达式来表示您希望满足的约束,在本例中为~,并在最后替换其中的解决方案。像

这样的东西
And(-5 < i, i < 5)

请注意,我已允许约束包含已知值和未知值。如果它们仅包含未知值,则您不需要复制和更新已知值的字典。您可能希望将其包装在一个函数中。