我正在尝试为某些数字信号处理构建分段函数,但我无法获得 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
但在我看来,允许指定范围对于许多分段函数来说是必不可少的。有没有办法做到这一点?
谢谢!