Extract and realign cells into new cell

1 次查看(过去 30 天)
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!

采纳的回答

KSSV
KSSV 2017-7-4
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 个)

类别

Help CenterFile Exchange 中查找有关 Outputs 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by