2016-01-22 41 views
1

Julia的map和理解語法可以很容易地映射多維數組的所有元素。地圖片

是否有類似的支持映射切片的數組?

作爲一個愚蠢的例子,給定一個3x3x100矩陣,我可能想要映射所有100個3x3x_切片。比方說,我可以推導出每個3x3切片的決定因素,並最終得到1x1x100的決定因素陣列。

+3

看看'mapslices'。就你的例子而言,size(A)==(3,3,100)',然後像'mapslices(det,A,(1,2))'就可以。 –

+2

這就是我所追求的,謝謝。你想讓它接受答案嗎?否則我可以。 – Benjohn

回答

2

看看mapslices。對於這個問題,建議使用size(A)==(3,3,100)。計算3×3矩陣的100行列式可以使用:mapslices(det,A,(1,2))

注意生成的矩陣仍然是3維的,並且squeeze可以用於擺脫1維的尺寸。在這個例子中:

squeeze(mapslices(det,A,(1,2)),(1,2)) 
+0

'squeeze'很棒 - 如果擠壓後的尺寸沒有尺寸1,它會(非常好)錯誤。如果'mapslice'有一種方法可以指示尺寸也應該是sqeezed,那麼它會更加超級緊湊......但是這非常容易構建。 – Benjohn