我正在尝试构建一段分段函数来进行数字信号处理,但是我无法让numpy.piecewise允许我指定一个范围。
这是我想输入的内容:
t = np.arange(-10,10,1)
x = lambda x: x**3
fx = np.piecewise(t, [t < -1 and t>-2, t <= 0 and t>-1, t>=0 and t<1,t>1 and t<2], [x(t + 2), x(-t),x(t),-x(2-t)])
plot(t,fx)
然而,我收到了一个错误:“ValueError:数组中具有多个元素的真值不明确。使用a.any()或a.all()”
经过分析该函数,似乎问题在于此函数不允许在一个条件语句中包含两个条件,例如:t < -1 and t>-2
但我认为允许指定范围对于许多分段函数至关重要。有没有办法做到这一点?
谢谢!