Remove elements of a cell array if length<200

조회 수: 6 (최근 30일)
Benedict Low
Benedict Low 2017년 10월 11일
댓글: OCDER 2017년 10월 11일
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

채택된 답변

OCDER
OCDER 2017년 10월 11일
Y = Y(cellfun(@(x) length(x) >= 200, Y))
  댓글 수: 2
Benedict Low
Benedict Low 2017년 10월 11일
Thank you Donald. Perfect.
OCDER
OCDER 2017년 10월 11일
You're welcome!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Multidimensional Arrays에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by