在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
注意,最后两行已经被去除了,因为它们与前面的行重复。