Convert cell array to an array, when the size of the cells is different

3 views (last 30 days)
Hi all,
I have a cell array like this A={ [0 0 0 0] ; [1 1] ;[2] }
Is it possible to convert it in an array? I tried with cell2mat but I get an error because the sizes are different
thanks
Nikolas

Accepted Answer

Stephen23
Stephen23 on 4 Dec 2018
Edited: Stephen23 on 4 Dec 2018
Download padcat:
and use it like this:
>> M = padcat(A{:})
M =
0 0 0 0
1 1 NaN NaN
2 NaN NaN NaN

More Answers (1)

madhan ravi
madhan ravi on 4 Dec 2018
[A{:}] % which is eqivalent to horzcat(A{:})
  3 Comments
madhan ravi
madhan ravi on 4 Dec 2018
Edited: madhan ravi on 4 Dec 2018
just give an example of your desired output in the example you gave! plus how can you put them in an array when the number of columns are different??
Nikolas Spiliopoulos
Nikolas Spiliopoulos on 4 Dec 2018
well it's from a for loop that the results are saved in A by using
A{i,1)=...
So for the example above I would like to get
B=[0 0 0 0; 1 1 0 0 ; 2 0 0 0 ]
So actyally putting zeros where the elements are less

Sign in to comment.

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!