Clear Filters
Clear Filters

Cell containing double arrays to cell

2 views (last 30 days)
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?

Accepted Answer

Walter Roberson
Walter Roberson on 1 Jul 2017
cell2mat(TheCell)
  3 Comments
Walter Roberson
Walter Roberson on 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 on 1 Jul 2017
The later, and your code works fine!:) Thank you

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!