我想在Z3py中定义一个分段(线性)函数,例如,函数f(x)具有以下形式
f(x) = a*x + b when 0 <= x <= 1
f(x) = exp(c*x) when 1 < x <= 2
f(x) = 1/(1+10^x) when 2 < x <= 3
etc.其中a、b和c是常量。
我想z3.If()函数将是相关的,但是随着片段数的增加,表达式会变得复杂起来。
我的问题是,Z3pyprovides是if-else语句,还是在Z3py中有一种优雅的定义分段函数的方法?
发布于 2015-05-01 11:25:13
是的,Z3支持if和else,在If中可以使用If函数来构造它们。If文档中的一个示例
>>> x = Int('x')
>>> y = Int('y')
>>> max = If(x > y, x, y)
max = If(x > y, x, y)https://stackoverflow.com/questions/29831037
复制相似问题