デジタル信号処理用の区分関数を作成しようとしていますが、範囲を指定できるように 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() を使用してください」というエラーが表示されます。
関数を分析した後、問題は、この関数が次のような 2 つの条件を許可しないことです。
t < -1 and t>-2
しかし、範囲を指定できるようにすることは、多くの区分関数にとって不可欠であるように思えます。これを達成する方法はありますか?
ありがとう!