Cell containing double arrays to cell

1 vue (au cours des 30 derniers jours)
MiauMiau
MiauMiau le 1 Juil 2017
Commenté : MiauMiau le 1 Juil 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?

Réponse acceptée

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

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrices and Arrays dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by