是否可以將空單元格移動到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