在Matlab中,可以使用unique函數去除矩陣中重復的行,并且保持原始矩陣的順序不變。唯一需要注意的是,矩陣中的每一行必須是可哈希的,即不能包含非基本數據類型(如cell數組、結構體等)。
以下是一個示例代碼:
% 示例矩陣
A = [1 2 3; 4 5 6; 1 2 3; 7 8 9; 4 5 6];
% 使用unique函數去除重復行,并保持順序
[~, idx] = unique(A, 'rows', 'stable');
result = A(idx, :);
在上述示例中,unique
函數的第二個輸出變量idx
保存了保持順序的索引值。然后,通過使用這些索引值來提取原始矩陣的非重復行。'stable'
選項用于保持原始矩陣的順序。
運行上述代碼后,result
將會保存去除重復行后的矩陣,且順序保持不變。結果為:
result =
1 2 3
4 5 6
7 8 9
注意,最后兩行已經被去除了,因為它們與前面的行重復。