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!

Community Treasure Hunt

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

Start Hunting!