是否可以将空单元格移动到2D单元格阵列中的末尾?例如。如果单元格(2,2)是[]
,则单元格(3,2)将进入(2,2)的位置,(4,2)进入(3,2)等位置,而空值将被添加到例如最后一行。在2D单元阵列中移动空单元格
1
A
回答
4
C = {1 []; [] 4; 'aa' []}; %// example cell array
e = cellfun('isempty', C); %// this indicates for each cell if it's empty or not
[~, r] = sort(e, 1); %// sorting of each col to move empty cells to the end
[m, n] = size(C);
C = C(bsxfun(@plus, r, (0:m:m*(n-1)))); %// apply sorting to each col, using linear indexing
在这个例子中,C
最初
C =
[ 1] []
[] [4]
'aa' []
,并成为
C =
[ 1] [4]
'aa' []
[] []
一些言论:
- 这是可行的,因为
sort
是稳定:它保留原来的顺序,以防万一。请注意,e
只包含零和1。 - Linear indexing用
bsxfun
有效地完成。 (repmat
和sub2ind
可以替代地使用。)
相关问题
- 1. 在2D阵列移动元件对C
- 2. 简单的2D单元阵列追加
- 3. 如何检测单元阵列中的空单元格?
- 4. Excell - 阵列,偏移相关单元格
- 5. Matlab:2D单元格阵列到字符阵列
- 6. 删除空单元格(向上移动)
- 7. 确定单元格阵列中单元格的平均长度
- 8. 在Matlab中嵌套单元阵列的单元格函数
- 9. 在单元阵列中找到前n个数值单元格
- 10. 查找2D阵列中最接近的非零单元格
- 11. 在2D值上对单元格阵列进行排序
- 12. 使用Javascript:在2D阵列改变单元格的值
- 13. 单元阵列中删除最后一个单元格列
- 14. 在单元阵列
- 15. 在单元阵列
- 16. UITableView的移动单元格
- 17. iOS TableViews - 移动单元格
- 18. 单元阵列
- 19. 单元阵列
- 20. 滑动删除单元格导致tableViewHeader与单元格移动
- 21. 在excel公式中移动单元格
- 22. HTML - 移动文本在单元格中
- 23. 在UITableView中移动单元格
- 24. 在TableView中移动单元格
- 25. 在TableView中移动单元格
- 26. 单元阵列(不同大小的单元格)到矩阵
- 27. 活动单元不在阵列中
- 28. 在MATLAB中将结构移动到单元阵列中
- 29. numpy阵列中多个单元格贴片的相邻单元
- 30. 移动单元格并跳过空单元格时保持颜色和字体
单元阵列仍具有为“矩形”,这样就可以很容易地删除和整个行或列,但不能删除一个单元格。你只是想将所有的空单元格移动到它们各自行的末尾? – Dan
但是你的单元格结构会发生变化,最后必须将它填零,最好将[]移动到单元结构的最后一行/列而不是删除它们 – GameOfThrows
你是对的!我编辑的帖子:) – Cobe