Map a matrix 300 cells of matrices to a 2d matrix

1 view (last 30 days)
I have a matrix M1 of size 1x300, which contains in each column, on the first and only row a cell with a matrix of size 28x28.
I want to convert each 28x28 matrix to a column vector and store them all as columns in a new matrix, so that the i-th column of the resulting matrix will represent the i-th column of the original matrix, but instead of cells with matrices, I'll have column vectors representing the smaller matrices.

Accepted Answer

KL
KL on 20 Nov 2017
Edited: KL on 20 Nov 2017
dummy = repmat({reshape(1:784,28,28)},1,300);
C = cell2mat(cellfun(@(x) [x(:)],dummy,'uni',0));
or simpler,
C = reshape([dummy{:}],28*28,[]);

More Answers (0)

Categories

Find more on Creating and Concatenating Matrices 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!