Matrix reshape from 3d to 2d

59 次查看(过去 30 天)
Hi
I have 3d matrix (1*80). Each cell has diffrent rows with 4 column. I want to convert all of it to 2d matrix but I want to keep the 3d matrix dimension(column,1-80) as index for my data.
So, I need t to add a new column(3d dimension) to my new 2d matrix as 5th column.
  2 个评论
Walter Roberson
Walter Roberson 2020-5-13
1 x 80 -- do you mean you have a 1 x 80 cell array, each cell of which is a something by 4 array? Are all of those the arrays the same size? When you convert it all to 2D, what size are you expecting the output to be?
Boby S
Boby S 2020-5-15
yes, they are not same size. The final size will be(sum of rows,5)

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2020-5-13
Output = cell2mat(arrayfun(@(IDX) [YourMatrix{IDX}, repmat(IDX, size(YourMatrix{IDX},1), 1)], (1:length(YourMatrix)).', 'uniform', 0));

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by