比方說,我有一個數組A [I,J]我想通過做這樣的事情來計算一個新的數量B [I,J]:numpy的陣列,以取代一個for循環
for i in arange(1, n):
B[i,j+1] = a*A[i-1,j] + b*A[i,j]+ c*A[i+1,j]
什麼numpy的功能可以用來把它變成一個純粹的數組操作?
我在想np.cumprod,但目前還不清楚如何將係數合併到計算中。
A.shape將是(n + 1,j)。
比方說,我有一個數組A [I,J]我想通過做這樣的事情來計算一個新的數量B [I,J]:numpy的陣列,以取代一個for循環
for i in arange(1, n):
B[i,j+1] = a*A[i-1,j] + b*A[i,j]+ c*A[i+1,j]
什麼numpy的功能可以用來把它變成一個純粹的數組操作?
我在想np.cumprod,但目前還不清楚如何將係數合併到計算中。
A.shape將是(n + 1,j)。
如果你不介意比特信號處理的,你可以有一個通用的解決方案(在這裏,你可以沿着指定多個元素意義上的通用a
,b
和c
,用於從A
縮放元素)使用signal.convolve2d
。
這將類似於這個other solution
其中與這種情況相關的卷積理論以更詳細的方式處理。執行看起來像這樣 -
A.shape是什麼? –