Borrar filtros
Borrar filtros

Remove elements of a cell array if length<200

2 visualizaciones (últimos 30 días)
Benedict Low
Benedict Low el 11 de Oct. de 2017
Comentada: OCDER el 11 de Oct. de 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

Respuesta aceptada

OCDER
OCDER el 11 de Oct. de 2017
Y = Y(cellfun(@(x) length(x) >= 200, Y))
  2 comentarios
Benedict Low
Benedict Low el 11 de Oct. de 2017
Thank you Donald. Perfect.
OCDER
OCDER el 11 de Oct. de 2017
You're welcome!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by