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

3 次查看(过去 30 天)
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

采纳的回答

Stephen23
Stephen23 2018-12-4
编辑:Stephen23 2018-12-4
Download padcat:
and use it like this:
>> M = padcat(A{:})
M =
0 0 0 0
1 1 NaN NaN
2 NaN NaN NaN

更多回答(1 个)

madhan ravi
madhan ravi 2018-12-4
[A{:}] % which is eqivalent to horzcat(A{:})
  3 个评论
madhan ravi
madhan ravi 2018-12-4
编辑:madhan ravi 2018-12-4
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
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

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by