sort a cell array based on the number of rows in each cell
조회 수: 1 (최근 30일)
이전 댓글 표시
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
채택된 답변
Stephen23
2018년 11월 9일
편집: Stephen23
2018년 11월 9일
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);
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Shifting and Sorting Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!