Cell containing double arrays to cell

4 Ansichten (letzte 30 Tage)
MiauMiau
MiauMiau am 1 Jul. 2017
Kommentiert: MiauMiau am 1 Jul. 2017
Hi,
Having (for instance) a 1x3 cell which contains in each entry a double array of a different size. For instance:
cell(1) = 1x2 double cell(2) = 1x10 double cell(3) = 1x6 double
I want to convert any such cell (hence with somewhat generic code), to a cell with one row containing all the elements of the double arrays one after another (in this example it would be a 1x18 cell). How can I do that?

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 1 Jul. 2017
cell2mat(TheCell)
  3 Kommentare
Walter Roberson
Walter Roberson am 1 Jul. 2017
Well, technically you could use
temp = horzcat(TheCell);
L = length(temp);
result = cell(1,temp);
for K = 1 : L; result{K} = temp(L); end
That might be slightly faster than
num2cell(cell2mat(TheCell))
Your question is a bit ambiguous as to whether you want a single cell entry with a 1 x 18 double vector in it, or if you want a 1 x 18 cell vector each with one double.
MiauMiau
MiauMiau am 1 Jul. 2017
The later, and your code works fine!:) Thank you

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by