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

1 次查看(过去 30 天)
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

回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by