MATLAB去除重复数据:高效保留唯一行
MATLAB去除重复数据:高效保留唯一行
在MATLAB中,你可以使用unique函数来去除某一列中的重复数据,并保留其中的一行。假设你想要去除矩阵A中第二列中的重复数据,并保留其中的一行,可以使用以下代码:
[~, idx] = unique(A(:,2), 'stable');
A = A(idx,:);
在上面的代码中,unique(A(:,2), 'stable')会返回第二列中的唯一值,并保持原来的顺序。然后,idx存储了这些唯一值在原始矩阵中的索引。最后,通过A = A(idx,:)将矩阵A更新为只包含唯一值的行。
步骤说明:
- 使用
unique(A(:,2), 'stable')获取第二列的唯一值,并保持原始顺序。 idx存储了唯一值在原始矩阵中的索引。- 使用
A = A(idx,:)更新矩阵A,只保留唯一值的行。
示例:
假设矩阵A如下:
A = [1 2 3;
4 2 5;
6 3 7;
8 2 9];
执行上述代码后,矩阵A将变为:
A = [1 2 3;
4 2 5;
6 3 7;
8 2 9];
现在,矩阵A的第二列中不再存在重复数据,并保留了原始顺序。
注意:
'stable'选项确保unique函数返回唯一值的顺序与原始矩阵中出现的顺序相同。- 如果需要去除其他列中的重复数据,只需要将
A(:,2)替换为对应列的索引即可。
通过使用unique函数,您可以轻松高效地去除矩阵中某一列的重复数据,并保留唯一行。
原文地址: https://www.cveoy.top/t/topic/fOqp 著作权归作者所有。请勿转载和采集!