How can I concatenate cell arrays of a cell array into one single column?

79 vues (au cours des 30 derniers jours)
Eric Kudlow
Eric Kudlow le 31 Août 2017
Commenté : Syahmeer How le 20 Fév 2019
I have a cell array of data that contains cell arrays of varying length. The number of cells within the cell array will be changing depending on the file I am reading. The data within the cells are characters of varying length. I need to combine all cell arrays within the cell array into one column. I feel like this should be very simple but I have been unable to successfully do it. The code follows:
for i = 1:length(name_cells)
all = name_cells{i,:}(:);
end
This code outputs only the last cell array of course. So when I try this, I get an error message:
for i = 1:length(name_cells)
all(i) = name_cells{i,:}(:);
end
error: Subscripted assignment dimension mismatch.
I realize the indexes don't match being the arrays are of different length, but I don't know of any other way to do this as I am fairly new to Matlab. The data within name_cells looks like this:
'bck2del::kan_whi5del::CaURA3'
Any help would be greatly appreciated.
  1 commentaire
Jan
Jan le 31 Août 2017
Describing the input data as text is not really useful. Better post some code which creates an equivalent piece of the data.

Connectez-vous pour commenter.

Réponse acceptée

Jan
Jan le 31 Août 2017
I guess, how you data look like:
name_cells = {{'a'; 'b'; 'c'}, {'d'}, {'e'; 'f'}};
Then:
nameCol = cat(1, name_cells{:})
creates:
{ 'a'; 'b'; 'c'; 'd'; 'e'; 'f'}
Is this wanted? If not, please post some input and output data.
  2 commentaires
Eric Kudlow
Eric Kudlow le 1 Sep 2017
Yes that is exactly what I needed. Thank you so much. I can't believe I couldn't figure that out myself.
Syahmeer How
Syahmeer How le 20 Fév 2019
Thanks for the code Jan!!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Logical 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