Azzera filtri
Azzera filtri

Remove elements of a cell array if length<200

2 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

OCDER
OCDER il 11 Ott 2017
Y = Y(cellfun(@(x) length(x) >= 200, Y))

Più risposte (0)

Categorie

Scopri di più su Resizing and Reshaping Matrices 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