[英]Piecewise function in numpy with multiple arguments
我試圖定義一個函數(帳篷圖),如下所示:
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”那么我應該怎么做才能達到預期的目的?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.