gpt4 book ai didi

python - 如何在 numpy.piecewise 中指定范围(每个范围 2 个条件)

转载 作者:太空狗 更新时间:2023-10-30 00:50:41 24 4
gpt4 key购买 nike

我正在尝试为一些数字信号处理构造一个分段函数,但我无法获得 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

但在我看来,允许指定范围对于许多分段函数来说都是必不可少的。有办法实现吗?

谢谢!

最佳答案

这是因为您不能在 numpy 数组上使用 and。对于 numpy bool 数组,您需要将 and 替换为 * 并将 or 替换为 + 。 (不要忘记添加括号)。

关于python - 如何在 numpy.piecewise 中指定范围(每个范围 2 个条件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18972433/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com