How to convert a 2D matrix to a 3D matrix without for cycles?

1 view (last 30 days)
Suppose we have a 2D matrix (M2) and we want to create 3D matrix (M3) from it with the following definition: M3(n,k,j) = M2((k-1)*J+j,n), where n=1:N, j=1:J, k=1:K

Answers (1)

Adam
Adam on 5 Apr 2018
M3 = permute( reshape( M2', N, J, K ), [1 3 2] );
should do it I think, though there may be neater ways!

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!