Matrix reshape from 3d to 2d

59 visualizzazioni (ultimi 30 giorni)
Boby S
Boby S il 13 Mag 2020
Commentato: Boby S il 15 Mag 2020
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 Commenti
Walter Roberson
Walter Roberson il 13 Mag 2020
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 il 15 Mag 2020
yes, they are not same size. The final size will be(sum of rows,5)

Accedi per commentare.

Risposta accettata

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

Più risposte (0)

Categorie

Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by