How to find arrays in a cell array

1 visualizzazione (ultimi 30 giorni)
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

Risposta accettata

James Tursa
James Tursa il 16 Gen 2017
Modificato: James Tursa il 16 Gen 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

Più risposte (1)

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

Categorie

Scopri di più su Matrices and Arrays in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by