sympy绘图与分段函数冲突
我用sympy创建了一个分段函数:
x= symbols('x')
XL = (1-x)**2
XH = (x-1)**1.5
XX= Piecewise((XL,x<=1),(XH,x>1))
plot(XX,(x,0,2),adaptive=False, num_of_points=200)
这个函数可以在0到2之间的任何值计算XX
(这是我们关心的范围)。
但是当我画图的时候,它报错说负数不能被分数次方,这种情况本不应该发生,因为只有当x
大于1时,才会涉及到分数次方。
难道它在某种原因下处理了整个范围的两个部分吗?你有什么想法吗?
1 个回答
0
最后,我用的解决办法是 abs(x-1):
x= symbols('x')
XL = (1-x)**2
XH = abs(x-1)**1.5
XX= Piecewise((XL,x<=1),(XH,x>1))
plot(XX,(x,0,2),adaptive=False, num_of_points=200)
这样做在实际使用这个数字的时候是对的,而且避免了错误。我也在Github上提交了这个bug。