MATLAB Answers

Cell to matrix conversion of different dimension

13 views (last 30 days)
I have a 1x44 cell with different dimension. I want to change those cell in to single matrix so that I can do manipulation? I try cell2mat but no luck. Is there any way to change cell to matrix of different dimension?
  3 Comments
sam moor
sam moor on 18 Jan 2017
This is the cell array I have. I want to change this cell to matrix but it has different dimensions.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 18 Jan 2017
"Is there any way to change cell to matrix of different dimension?"
Not to a numeric matrix, No. Numeric matrices require consistent dimensions.
You could potentially pad the various parts out with NaN or inf or 0 as required so that the parts were the same shape. That gets a bit complex if the arrays might be different numbers of dimensions.
  3 Comments
Walter Roberson
Walter Roberson on 19 Jan 2017
ColFirstN = @(V, L) V(1:L);
ColPad = @(V, L) ColFirstN( [V; zeros(L, 1)], L);
maxlen = 18000;
padded_gm = cellfun(@(V) ColPad(V, maxlen), gm), 'Uniform', 0);
gm_matrix = cell2mat(padded_gm);

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by