How to find arrays in a cell array

1 view (last 30 days)
Hi guys,
I have a cell array(let's say c) consisting of 2D arrays and I want to find all the arrays that(say a is an array) have size(a,1)<5 and throw them away of the cell. How can I do that?
Thanks in advance

Accepted Answer

James Tursa
James Tursa on 16 Jan 2017
Edited: James Tursa on 16 Jan 2017
c = your cell array
x = cellfun(@(x)size(x,1)<5,c); % Logical indexes of arrays with 1st dim < 5
c(x) = []; % Delete those elements from the cell array

More Answers (1)

Stephen23
Stephen23 on 16 Jan 2017
Edited: Stephen23 on 16 Jan 2017
Faster and simpler than using a function handle:
idx = cellfun('size',c,1)<5;
c(~idx)

Categories

Find more on Matrices and 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!