Filter löschen
Filter löschen

Remove elements of a cell array if length<200

1 Ansicht (letzte 30 Tage)
Benedict Low
Benedict Low am 11 Okt. 2017
Kommentiert: OCDER am 11 Okt. 2017
Hi,
I have a cell array with elements of different lengths. I would like to remove elements whose length (number of rows) are less than 200. I have a simplified example here
a=randi(10,199,1);
b=randi(10,205,1);
c=randi(10,80,1);
d=randi(10,300,1);
Y={a; b; c; d};
I would like to remove elements of Y whose lengths are <200, such that the cell array becomes
Y={b;d};
I ran this code but all I got was the first value of matrices b and d, while rows 1 and 3 were [ ]
Y2=cellfun(@(x) x(length(x)>=200), Y, 'un', 0);
Would appreciate if anyone can point out where I went wrong.
Thank you.
Ben

Akzeptierte Antwort

OCDER
OCDER am 11 Okt. 2017
Y = Y(cellfun(@(x) length(x) >= 200, Y))
  2 Kommentare
Benedict Low
Benedict Low am 11 Okt. 2017
Thank you Donald. Perfect.
OCDER
OCDER am 11 Okt. 2017
You're welcome!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Resizing and Reshaping Matrices 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