How do I convert a cell array whose dimensions are not equal?

조회 수: 6 (최근 30일)
Brad . 2014년 6월 10일
댓글: Geoff Hayes . 2016년 2월 10일
I have a cell array that looks like this:
mydata =
[10x11 double] [5x11 double]
Name Size Bytes Class Attributes
mydata 1x2 1544 cell
I'm trying to convert this to a numeric array using the cell2mat function. But I keep getting the following error message:
Error using cat Dimensions of matrices being concatenated are not consistent.
Error in cell2mat (line 76) m{n} = cat(2,c{n,:})
Is it possible to convert a cell array whose dimensions are not equal?

채택된 답변

Geoff Hayes
Geoff Hayes 2014년 6월 10일
Check out the documentation for cell2mat at and in particular the example. In your case, the matrices have a different number of rows so cannot be concatenated in this way. But, if your cell array mydata was a column (rather than a row) with the same two elements, then yes it could be concatenated because each matrix has the same number of columns
mydata = cell(2,1);
mydata{1} = zeros(10,11);
mydata{2} = ones(5,11);
mtx = cell2mat(mydata);
  댓글 수: 3

댓글을 달려면 로그인하십시오.

추가 답변 (0개)


Help CenterFile Exchange에서 Numeric Types에 대해 자세히 알아보기


Community Treasure Hunt

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

Start Hunting!

Translated by