Extract and realign cells into new cell
1 view (last 30 days)
Show older comments
Hi all,
I have a cell array 'cellA' which contains cell:
cellA =
{2x1 cell} {2x1 cell} {2x1 cell}
{2x1 cell} {2x1 cell} {2x1 cell}
cellA{1}
ans =
[12x2 double]
[30x2 double]
All arrays in cellA are same size. Now what I want is to extract each double array and put them in a new cell, so I will have 2 new cells:
cellB =
[12x6 double]
[12x6 double]
cellC =
[30x6 double]
[30x6 double]
I know I can probably write a for loop to do this, but is there a faster, vectorized way?
Thanks!
0 Comments
Accepted Answer
KSSV
on 4 Jul 2017
A = cell(2,3) ;
for i = 1:2
for j = 1:3
A{i,j}{1,1} = rand(12,2) ;
A{i,j}{2,1} = rand(30,2) ;
end
end
B = [A{:}] ;
B1 = mat2cell(cell2mat(reshape(B(1,:),2,3)),[12 12]);
B2 = mat2cell(cell2mat(reshape(B(2,:),2,3)),[30 30]);
0 Comments
More Answers (0)
See Also
Categories
Find more on Outputs 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!