2
A
回答
1
我覺得這個劇本可以做你想做的:
B= A;
position = 1;
condition = true;
bSize = size(B,1);
while (position < bSize)
[~,~,ic] = unique(B,'rows');
changes = find(ic(position:end,:)== ic(position));
if (length(changes)>1)
B(changes+position-1,:)= [];
bSize = size(B,1);
else
position = position+1;
end
end
disp(B)
1
您可以嘗試從所有其他行減去一行,如果任何行包含全零,則知道它包含重複元素。
4
的好去處,開始是:
b = unique(A, 'rows')
+0
巧妙的把戲,我不知道那個命令! – PearsonArtPhoto
+2
但這並沒有解決原來的問題。您的解決方案不會返回[4,5,6; 7,9,6]。你的靈魂會返回[1,2,4; 4,5,6; 7,9,6] – KatyB
5
一個更完整的解決方案,基於@tayler的unique(,'rows')
將
[uA, ~, ui] = unique(A, 'rows'); % we have a single copy of each row.
% it is now left to determine which row is duplicate
n = hist(ui, 1:max(ui));
sel = n == 1; % pick only indices that appear once
uA = uA(sel, :);
相關問題
- 1. MATLAB:刪除值
- 2. 刪除在串Matlab的
- 3. 刪除在Matlab的情節
- 4. MATLAB parfor刪除值?
- 5. 在相關性在Matlab刪除重複
- 6. 刪除矩陣列 - MATLAB
- 7. Matlab的 - 刪除字符串
- 8. 刪除Matlab繪圖邊界
- 9. Matlab的刪除矢量
- 10. matlab:刪除重複值
- 11. Matlab繪圖刪除tickmark
- 12. matlab:重複行刪除
- 13. Matlab的:刪除嘈雜峯
- 14. 刪除重疊的MSER-matlab
- 15. 刪除xticks,但保留xticklabels在MATLAB
- 16. 在MATLAB中刪除/處理數據
- 17. 在MATLAB中刪除重疊的圓圈
- 18. MATLAB:刪除最後一行在Excel
- 19. 刪除一行在for循環與MATLAB
- 20. 在MATLAB中刪除重複的行
- 21. 在MATLAB中刪除頭文件
- 22. 在Matlab中刪除特定行
- 23. 在Matlab中刪除重複的引用
- 24. 刪除從電池元件在Matlab
- 25. 邊界在Matlab中刪除圖像
- 26. 在matlab中刪除文本Backgroundcolor
- 27. 在matlab中刪除矩陣的行
- 28. 如何在MATLAB中刪除座標軸
- 29. 排除在MATLAB
- 30. 按Ctrl + Backspace鍵/選項+刪除無法刪除前一個單詞在MATLAB IDE
太棒了!而在兩個矩陣的情況下?例如:a = [1,2,4; 4,5,6; 1 2 4; 7,9,6; 1 2 4]和b = [3 2 1; 3 4 5; 3 2 1; 4 6 7; 2 8 9]我想刪除具有相同值和相同索引的行,以獲得a1 = [4 5 6; 7 9 6; 1 2 4]和b1 = [3 4 5; 4 6 7; 2 8 9] – brio