Mathematica函数的SymPy等价物是什么:f[x_]:=If[x==Infinity,1,2]
?
如果尝试没有成功:
lambdify(x,Piecewise((1, <expr> ),(2,True))
其中<expr>
是
1)
Eq(x,oo)
2)
simplify(x)==oo
3)
Eq(x+1,x)
答案 0 :(得分:1)
正确的表达式应为Piecewise((1, Eq(x, 0)), (2, True))
。 ==
执行结构比较,但不创建符号对象(请参阅http://docs.sympy.org/latest/tutorial/gotchas.html#equals-signs)。
这对我有用
In [3]: f = lambdify(x, Piecewise((1, Eq(x, 0)), (2, True)))
In [4]: f(0)
Out[4]: 1
In [5]: f(1)
Out[5]: 2