MATLAB: How to extract data from a cell in a specific way

arraycellcell arraysdataextraction

Suppose I have the following code
for n = 1:21
sz = [23,42000];
data = cell(sz);
for k = 1:12
x=foo( );
data{k}=x;
end
end
after its being executed I get a cell named data which has 12 1×69 arrays like this
1×69 double
1×69 double
1×69 double
1×69 double
1×69 double
1×69 double
1×69 double
1×69 double
1×69 double
1×69 double
1×69 double
1×69 double
Now I want to save this in an array outside of inside for and also add to this array the following 12 1×69 arrays for the end 20 itterations of the outside loop.
Eventually, I want to have 12×21=252 1×69 arrays in a single array 252×69.
I hope you guys understood what I am asking and I wish someone out there help me here, because I am clueless here…

Best Answer

Dear Stamatis, here is code for converting cell array into a matrix:
for i = 1:12
data{i} = rand(1, 69); % create cell having 12 arrays of 1x69
end
a = reshape(cell2mat(data), [], 69); % storing the arrays in a matrix
Is it what you need?