sort a cell array based on the number of rows in each cell
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
merialu
el 9 de Nov. de 2018
Comentada: merialu
el 12 de Nov. de 2018
Hi, I have an cell array of 6031x1 cell. each cell contain as matrix of different number of rows but with 53 columns.
i want to remove all cells with 1 or 2 rows.
i have tried to use this code to sort the cells and than delete them in a second step:
NrowsB = cellfun('size',mycellarray,1) ;
[~, ri] = sort(NrowsB);
but this does not work. Any ideas how to sort the cells or how to delete the cells directly?
0 comentarios
Respuesta aceptada
Stephen23
el 9 de Nov. de 2018
Editada: Stephen23
el 9 de Nov. de 2018
Your question is confused: you ask that you want to "sort a cell array based on the number of rows in each cell", but then later you state that you "want to remove all cells with 1 or 2 rows."
So which do you want to do: sort or delete the cell array?
Here is how you can delete those cells:
NrowsB = cellfun('size',mycellarray,1) ;
mycellarray(NrowsB<3) = []
Here is how you can sort those cells:
[~,idx] = sort(NrowsB);
mycellarray = mycellarray(idx);
Más respuestas (0)
Ver también
Categorías
Más información sobre Shifting and Sorting 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!