# How to combine n cell arrays into one giant one?

11 ビュー (過去 30 日間)
Susan 2021 年 6 月 7 日

Hello,
I have a 12-by-190 cell array dataset, each contains either a 1-by-504 cell array or a 1-by-336 cell array. Each of these cell array contains a vector of size of either 600-by-1 or 300-by-1.
As for labels, I have a 12-by-190 cell arrays that each cell contains either a 1-by-504 cell array or a 1-by-336 cell array.
I'd like to concatenate all of the cells together into one giant cells (or preferably a giant matrix) and a corresponding array of labels.
How can I do that?

サインインしてコメントする。

### 回答 (1 件)

SALAH ALRABEEI 2021 年 6 月 7 日
I think you need to loop a bit since you have cells of cells. Let A and B are ur outer cell matrices, data and labels
% Try this
NA=[];
NB =[];
for i = length(A)
a = [A{i}{:}];
b = [B{i}{:}];
NA = [NA,a(:)];
NB = [NB,b(:)];
end
##### 2 件のコメント表示非表示 1 件の古いコメント
Susan 2021 年 6 月 7 日

Thank you so much for your response. I added one more loop to go over 12 cells but it seems it takes forever
NA=[];
NB =[];
for i = 1: size(A,1)
for j = 1: size(A,2)
a = [A{i}{:}];
b = [B{i}{:}];
NA = [NA;a(:)];
NB = [NB;b(:)];
end
end
any idea? Moreover NA = [NA,b(:)] gives me error and using ";" doesn't make sense with my data.
Thanks again

サインインしてコメントする。

### カテゴリ

Find more on Matrices and Arrays in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by