我试图定义一个函数(帐篷图),如下所示:
def f(r, x):
return np.piecewise([r, x], [x < 0.5, x >= 0.5], [lambda r, x: 2*r*x, lambda r, x: 2*r*(1-x)])
r,x将是numpy数组:
no_r = 10001
r = np.linspace(0, 4, no_r)
x = np.random.rand(no_r)
我希望结果是一个匹配r和x形状的numpy数组,该数组使用具有相同标记的数组r和x的每对元素进行计算。例如,如果r = [0,1,2,3]和x = [0.1,0.7,0.3,1],则结果应为[0,0.6,1.2,0]。 发生错误:“布尔索引与沿维度0的索引数组不匹配;维度为2,但相应的布尔维度为10001” 那么我应该怎么做才能达到预期的目的?
答案 0 :(得分:4)