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

 Réponse acceptée

James Tursa
James Tursa le 16 Jan 2017
Modifié(e) : James Tursa le 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

Plus de réponses (1)

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

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by