How to split a cell array into individual rows

7 次查看(过去 30 天)
I have a cell array of the following format:
C =
2×2 cell array
{3×2 double} {3×18 sym}
{5×2 double} {5×18 sym}
I would like to split that cell array such that the row of within each cell becomes an individual cellarray row:
C =
8×2 cell array
{1×2 double} {1×18 sym}
{1×2 double} {1×18 sym}
{1×2 double} {1×18 sym}
... ...
However I am not able to find a way to perform the above. Any help would be appreciated.

采纳的回答

Walter Roberson
Walter Roberson 2021-9-9
编辑:Walter Roberson 2021-9-9
C = {randi(9,3,2), sym(randi(9,3,18)); randi(9,5,2), sym(randi(9,5,18))}
C = 2×2 cell array
{3×2 double} {3×18 sym} {5×2 double} {5×18 sym}
temp = cellfun(@(c) num2cell(c,2), C, 'uniform', 0);
temp2 = arrayfun(@(IDX) vertcat(temp{:,IDX}), 1:size(temp,2), 'uniform', 0);
newC = horzcat(temp2{:})
newC = 8×2 cell array
{[5 7]} {1×18 sym} {[2 7]} {1×18 sym} {[9 5]} {1×18 sym} {[2 3]} {1×18 sym} {[2 7]} {1×18 sym} {[3 1]} {1×18 sym} {[5 9]} {1×18 sym} {[4 2]} {1×18 sym}

更多回答(0 个)

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by