Is there a method to extract all the data from a nested cell array when each nested cell is of a different size?

2 vues (au cours des 30 derniers jours)
For example
1x1 cell
1x2 cell
1x19 cell
1x20 cell
This will produce a ragged array but is there a work around

Réponse acceptée

Konstantinos Sofos
Konstantinos Sofos le 12 Juin 2015
Hi George,
My first thought would be to apply a recursive function using the cellfun . e.g.
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,

Plus de réponses (0)

Catégories

En savoir plus sur Cell Arrays dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by