Filter löschen
Filter löschen

How to convert cell to matrix

4 Ansichten (letzte 30 Tage)
Ede gerlderlands
Ede gerlderlands am 16 Jul. 2013
Kommentiert: Tehmina Kakar am 18 Jul. 2018
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 Kommentare
Jos (10584)
Jos (10584) am 16 Jul. 2013
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 am 16 Jul. 2013
yes, that's what I need

Melden Sie sich an, um zu kommentieren.

Antworten (3)

Jan
Jan am 16 Jul. 2013
Bearbeitet: Jan am 16 Jul. 2013
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 Kommentar
Ede gerlderlands
Ede gerlderlands am 16 Jul. 2013
Bearbeitet: Ede gerlderlands am 16 Jul. 2013
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

Melden Sie sich an, um zu kommentieren.


David (degtusmc)
David (degtusmc) am 16 Jul. 2013
Bearbeitet: David (degtusmc) am 16 Jul. 2013
Look up cell2mat. The link for the documentation is below. I hope this helps
  3 Kommentare
Evan
Evan am 16 Jul. 2013
This will only work for cells arrays containing matrices of constant size in each array.
David (degtusmc)
David (degtusmc) am 18 Jul. 2013
That is true. I did not think about that. Thank you Evan.

Melden Sie sich an, um zu kommentieren.


Jos (10584)
Jos (10584) am 17 Jul. 2013
Bearbeitet: Jos (10584) am 17 Jul. 2013
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 Kommentar
Tehmina Kakar
Tehmina Kakar am 18 Jul. 2018
Thank you so much @Jos. It works for me.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Structures finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by