How do I combine two cell arrays into one cell array?
271 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
pengcheng
le 13 Oct 2014
Réponse apportée : Josep Llobet
le 1 Oct 2021
>> Q{1}
ans =
'4400002970000003533'
'4400002970000003533'
'4400002970000003535'
'4400002970000003536'
'4400002970000003533'
'4400002970000003532'
'4400002970000003537'
>> Q{2}
ans =
'4400002890000146180'
'4400002890000146180'
'4400002970000000026'
I want to get a new cell:
'4400002970000003533'
'4400002970000003533'
'4400002970000003535'
'4400002970000003536'
'4400002970000003533'
'4400002970000003532'
'4400002970000003537'
'4400002890000146180'
'4400002890000146180'
'4400002970000000026'
I don't want to use the function cell2mat, because it is too slow for my program. Do you have any good ideas?
0 commentaires
Réponse acceptée
Star Strider
le 13 Oct 2014
To get the result cell array ‘R’, for instance, vertically concatanate ‘Q{1}’ and ‘Q{2}’:
Q{1} = ['4400002970000003533'
'4400002970000003533'
'4400002970000003535'
'4400002970000003536'
'4400002970000003533'
'4400002970000003532'
'4400002970000003537'];
Q{2} = ['4400002890000146180'
'4400002890000146180'
'4400002970000000026'];
R = {[Q{1}; Q{2}]};
celldisp(R) % Display Result
8 commentaires
Adam
le 13 Oct 2014
I assume he is referring to the more generic answer of {[Q{:}]} which does horizontal concatenation by default.
It is one of the many cases where someone asks a question using a neat example then when given a correct answer for that it turns out they actually want to solve the general case that wasn't mentioned in the example!!
Star Strider
le 13 Oct 2014
@Adam — The vertcat function is definitely the way to go!
You’re certainly correct on your observation — in more Questions that I care to count, the instance in the question may have little bearing on actual issue!
Plus de réponses (2)
Josep Llobet
le 1 Oct 2021
Maybe this little function could be useful:
function [celltot] = juntar_cells(cell1, cell2)
celltot = cell1;
for ll_cell2 = 1:length(cell2)
celltot{end + 1} = cell2{ll_cell2};
end
end
0 commentaires
Voir également
Catégories
En savoir plus sur Creating and Concatenating Matrices 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!