SymPy 比较与条件
SymPy中相当于Mathematica函数的是什么: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)
1 个回答
1
正确的写法应该是 Piecewise((1, Eq(x, 0)), (2, True))
。这里的 ==
是用来比较结构的,它不会创建一个符号对象(详细信息可以查看 这个链接)。
这个对我来说是有效的。
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