Problem regarding to change conversion of cell2mat.

2 views (last 30 days)
Need help to conversion from cell to matrix.
my_cell={[1,10],[1,2,10],[1,6,10]}
my_cell =
[1x2 double] [1x3 double] [1x3 double]
>> my_mat=cell2mat(my_cell)
my_mat =
1 10 1 2 10 1 6 10
i need output in form of matrix like my_mat=[1 10 0;1 2 10;1 6 10];
some one tell me method to conversion like this.

Accepted Answer

per isakson
per isakson on 10 May 2014
Edited: per isakson on 10 May 2014
This
my_cell = {[1,10],[1,2,10],[1,6,10]};
cac = cellfun( @(n) [n,zeros(1,3-length(n))], my_cell, 'uni',false );
cat( 1, cac{:} )
returns
ans =
1 10 0
1 2 10
1 6 10

More Answers (2)

Azzi Abdelmalek
Azzi Abdelmalek on 10 May 2014
my_cell={[1,10],[1,2,10],[1,6,10]}
my_mat=cell2mat(my_cell')
  1 Comment
Arjun
Arjun on 10 May 2014
my_cell={[1,10],[1,2,10],[1,6,10]}
my_mat=cell2mat(my_cell')
my_cell =
[1x2 double] [1x3 double] [1x3 double]
Error using cat Dimensions of matrices being concatenated are not consistent.
Error in cell2mat (line 84) m{n} = cat(1,c{:,n});
There is an error.About some consistent problem (may be due to each cell have unequal columns)

Sign in to comment.


Jos (10584)
Jos (10584) on 10 May 2014
This is a case for PADCAT:
my_cell={[1,10],[1,2,10],[1,6,10]}
result = padcat(my_cell{:})
PADCAT can be downloaded from the Matlab File Exchange: http://www.mathworks.com/matlabcentral/fileexchange/22909-padcat

Categories

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!