Changing Matrix dimensions from 4D to 2D: Matrix Manipulation, while preserving order of the data.

2 views (last 30 days)
Hello everyone, I would like some feedback, please, on how to change a matrix from 4D to 2D. The original Matrix is M: (5*5*14680*30) and I need to import it to excel so I can extract some data since I couldn't find a way to do it effectively in Matlab. The big dataset M is basically made up of 30 blocks of 14680 of 5*5 matrices. By changing its dimensions from 4D to 2D, I expect my new matrix to have the following dimensions: 73400*150 (that's 5*14680 row and 5*30 columns). The position of each 5*5 matrix along with every element in it has to stay intact. I attached a hand-drawn sketch to explain what I wrote.

Accepted Answer

Matt J
Matt J on 17 Dec 2017
Edited: Matt J on 18 Dec 2017
newMatrix=reshape( permute(M,[1,3,2,4]) , [], 150);
  3 Comments

Sign in to comment.

More Answers (1)

Matt J
Matt J on 17 Dec 2017
Edited: Matt J on 17 Dec 2017
newMatrix=cell2mat( reshape( num2cell(M,[1,2]) ,[],30) );

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!