【发布时间】:2018-11-24 01:22:15
【问题描述】:
我尝试定义一个函数(帐篷图)如下:
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” 那么我应该怎么做才能达到预期的目的呢?
【问题讨论】: