MATLAB: Length of arrey in cell and remove 0

length of arrey in cell and remove 0

A={[113],[112],[42],[29],[113],[69],[86],[0],[0]};
B={[18],[14],[5],[39],[27],[11],[9],[0],[0]};
C=cellfun(@(m,u) length(m)+length(u),A, B, 'uni',0);
as 2 last element in both A and B is 0
I want to have this result
C={[2],[2],[2],[2],[2],[2],[2],[0],[0]}

Best Answer

A(cell2mat(A)==0)={[]}; % assuming each cell is scalar
B(cell2mat(B)==0)={[]};
C=cellfun(@(m,u) numel(m)+numel(u),A, B, 'un',0)
Related Question