How to convert cell to matrix

조회 수: 3 (최근 30일)
Ede gerlderlands
Ede gerlderlands 2013년 7월 16일
댓글: Tehmina Kakar 2018년 7월 18일
I have a cell which is given by A= 1x13cell. I want to extract the contents of the cell into the form of a matrix of size (13 x number of points each cell containd) is this possible? The number of points in each cell varies. Can you help me with this?
  댓글 수: 2
Jos (10584)
Jos (10584) 2013년 7월 16일
I suggest you give a small example. For instance, if
C = {[1 2],[11 12 13]} % a cell array
how would you like the final matrix M to look like? Something like
1 2 NaN
11 12 13
?
Ede gerlderlands
Ede gerlderlands 2013년 7월 16일
yes, that's what I need

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

답변 (3개)

Jan
Jan 2013년 7월 16일
편집: Jan 2013년 7월 16일
N = cellfun('length', C);
M = numel(C);
R = NaN(M, N);
for k = 1:M
R(1:N(k)) = C{k}; % Perhaps: reshape(C{k}, 1, [])
end
  댓글 수: 1
Ede gerlderlands
Ede gerlderlands 2013년 7월 16일
편집: Ede gerlderlands 2013년 7월 16일
Thank you for yor reply. But this gives me the whole nubers that are found in the cell in the decending order following rows. What I really want is the numbers per cell . That is 13 rows and what is found in them . Thank you

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


David (degtusmc)
David (degtusmc) 2013년 7월 16일
편집: David (degtusmc) 2013년 7월 16일
Look up cell2mat. The link for the documentation is below. I hope this helps
  댓글 수: 3
Evan
Evan 2013년 7월 16일
This will only work for cells arrays containing matrices of constant size in each array.
David (degtusmc)
David (degtusmc) 2013년 7월 18일
That is true. I did not think about that. Thank you Evan.

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


Jos (10584)
Jos (10584) 2013년 7월 17일
편집: Jos (10584) 2013년 7월 17일
Here is a suggestion
C = {[1 2 ;3 4],[11 12 13].',100:106} % a cell array
% make sure all elements are column vectors
C2 = cellfun(@(x) reshape(x,[],1), C,'un',0) ;
M = padcat(C2{:})
  댓글 수: 1
Tehmina Kakar
Tehmina Kakar 2018년 7월 18일
Thank you so much @Jos. It works for me.

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

카테고리

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