Python 分段函数的辛图冲突

Python 分段函数的辛图冲突,python,plot,sympy,piecewise,Python,Plot,Sympy,Piecewise,我使用Symphy创建了一个分段函数: 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) x=符号('x') XL=(1-x)**2 XH=(x-1)**1.5 XX=分段((XL,x1)) 绘图(XX,(x,0,2),自适应=False,点数=200) 它可以在0到

我使用Symphy创建了一个分段函数:

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)
x=符号('x')
XL=(1-x)**2
XH=(x-1)**1.5
XX=分段((XL,x1))
绘图(XX,(x,0,2),自适应=False,点数=200)
它可以在0到2之间的
x
的任何值(仅适用于感兴趣的范围)计算
XX

当我绘制它时,它返回一个错误,负数不能提升为分数次幂,这是永远不会发生的,因为只有当
x
大于1时,分数次幂才适用


是否出于某种原因,在整个范围内处理这两个零件?有什么想法吗?

最后,我使用的解决方法是abs(x-1):

x=符号('x')
XL=(1-x)**2
XH=abs(x-1)**1.5
XX=分段((XL,x1))
绘图(XX,(x,0,2),自适应=False,点数=200)

这对于实际使用数字的时间是正确的,并且避免了错误。我也在Github上提交了这个bug。

我猜问题是零附近的数字噪音。请在github上报告此错误。一种解决方法是获取表达式的真实部分并绘制它。换句话说,绘制
re(XX)
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)