How can I concatenate cell arrays of a cell array into one single column?
79 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commento
Jan
il 31 Ago 2017
Describing the input data as text is not really useful. Better post some code which creates an equivalent piece of the data.
Risposta accettata
Jan
il 31 Ago 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 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Logical in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!