MATLAB: Converting a 2d matrix into a 3d matrix

permutereshape

Hi, I have a matrix of 24 x 10 and would like to convert it into 4 x 6 x 10. The first column of the 'test.mat' will form 4 x 6, etc. I have tried the following code from :https://www.mathworks.com/matlabcentral/answers/137535-converting-2d-matrix-to-3d but I cant seems to get the result. Thank you for the help.
test1 = permute(reshape(test,4,10,6),[1 3 2]);

Best Answer

Depending on how you want them arranged in the new array, either
test1 = reshape(test,4,6,10);
or
test1 = permute(reshape(test,6,4,10),[2,1,3]);