How to reshape this matrix?
1 回表示 (過去 30 日間)
古いコメントを表示
Currently I have 3 dimensional matrix of size (2,3,3)
A(:,:,1) =
1 2 3
4 5 6
A(:,:,2) =
7 8 9
10 11 12
A(:,:,3) =
13 14 15
16 17 18
I would like to reshape it into [6 3] matrix so that it will become
A =
1 2 3
4 5 6
7 8 9
10 11 12
13 14 15
16 17 18
I try to use reshape(A,[6 3]); But it return the wrong matrix
Is there any quick way to do this?
0 件のコメント
採用された回答
Gautam Vallabha
2012 年 4 月 6 日
Test matrix
A = rand(2,3,3);
Solution #1
D = reshape(permute(A, [1 3 2]), [6 3])
Solution #2
B = mat2cell(A, 2, 3, [1 1 1]); % slice into 3 cells (along dim 3)
C = squeeze(B); % flatten from dim 3 to dim 1
D = vertcat(C{:}); % vertically append the three matrices
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Resizing and Reshaping Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!