sort a cell array based on the number of rows in each cell
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposta accettata
Stephen23
il 9 Nov 2018
Modificato: Stephen23
il 9 Nov 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);
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Shifting and Sorting 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!