2016-08-05 174 views
1

是否有任何簡單的方法來將矢量整形成一個數組,其中「填充」是按行排列的?按行重塑「填充」

更具體地說,假設我有一個載體

v = collect(1:8) 

reshape 「填充」,由列結果數組:

reshape(v, (2,2,2)) 

2x2x2 Array{Int64,3}: 
[:, :, 1] = 
1 3 
2 4 

[:, :, 2] = 
5 7 
6 8 

但我想:

a = Array{Int}(2,2,2) 
a[:, :, 1] = [1 2; 3 4] 
a[:, :, 2] = [5 6; 7 8] 

a 
2x2x2 Array{Int64,3}: 
[:, :, 1] = 
1 2 
3 4 

[:, :, 2] = 
5 6 
7 8 

這將是一個不錯的選擇加入reshape

+2

你可以做:permutedims(v,(2,1,3))結果。 – DNF

回答

3
mapslices(transpose,reshape(v, (2,2,2)),[1,2]) 

您錯過的關鍵字是「轉置」。其餘我剛從the docs