Pad with Nan according to maximum row in cell

18 views (last 30 days)
Hi, I have a 1 x 8 cell (attached) and would like to cell2mat this matrix i.e to expand and show into one big numeric 97 x 8 array (97 being the maximum length of a cell array). I would also like to pad the ends of the smaller cell arrays with Nan to make all columns the same row length. How may I write for this?
Thank you!

Accepted Answer

Fabio Freschi
Fabio Freschi on 27 Oct 2019
I keep all steps separated
% the data
A = {rand(47,1),rand(80,1),rand(97,1)};
% pad with NaNs
A = cellfun(@(x)[x(1:end); NaN(97-length(x),1)],A,'UniformOutput',false);
% make a matrix
A = cell2mat(A);

More Answers (0)


Find more on Cell 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!

Translated by