Is there a method to extract all the data from a nested cell array when each nested cell is of a different size?
    7 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!


