2017-08-16 503 views
0

我有一個對稱的1D numpy的陣列,例如,像這樣:如何將一維數組轉換爲對稱三維數組?

0 1 2 1 0 

我怎麼會變成一個3D陣列(有點類似於高斯內核),在中心值2?

由於我的意思(雖然數學很可能不是正確的)爲例,在2D,這將是這樣的(雖然我需要它是3D):

0 0 0 0 0 
0 0.5 1 0.5 0 
0 1 2 1 0 
0 0.5 1 0.5 0 
0 0 0 0 0 
+0

供參考:* *高斯*內核是一個非常具體的事情。你的數據不是高斯內核。 –

回答

1

承認,這是高斯核,這裏是你如何計算

center = a[a.size // 2] 
(a[:, np.newaxis].repeat(a.size, axis=1) * a)\ 
    [:, :, np.newaxis].repeat(a.size, axis=2) * a \ 
/center ** 2 

(不是要去這裏貼全輸出)

相關問題