2016-08-05 4 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

関連する問題