Is there a method to extract all the data from a nested cell array when each nested cell is of a different size?
2 views (last 30 days)
Show older comments
George Atkinson
on 12 Jun 2015
Commented: Kazi Alam
on 11 Jun 2021
For example
1x1 cell
1x2 cell
1x19 cell
1x20 cell
This will produce a ragged array but is there a work around
1 Comment
Walter Roberson
on 12 Jun 2015
What would you want the output to look like?
Are all the elements either cell or numeric?
Accepted Answer
Konstantinos Sofos
on 12 Jun 2015
Hi George,
function C =extractmycells(C)
if iscell(C)
C = cellfun(@extractmycells, C, 'UniformOutput', 0);
C = cat(2,C{:});
else
C = {C};
end
end
As an example
>> B = {1,{2},{3,4,5},{6,7,8,9}}
B =
[1] {1x1 cell} {1x3 cell} {1x4 cell}
>> C =extractmycells(B)
C =
[1] [2] [3] [4] [5] [6] [7] [8] [9]
Regards,
1 Comment
Kazi Alam
on 11 Jun 2021
What if I would like continue every time with a new row?
More Answers (0)
See Also
Categories
Find more on Cell 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!