How to find arrays in a cell array

1 Ansicht (letzte 30 Tage)
Efstathios Kontolatis
Efstathios Kontolatis am 16 Jan. 2017
Bearbeitet: Stephen23 am 16 Jan. 2017
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

Akzeptierte Antwort

James Tursa
James Tursa am 16 Jan. 2017
Bearbeitet: James Tursa am 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

Weitere Antworten (1)

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

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by