MATLAB去除重复数据:高效保留唯一行

在MATLAB中,你可以使用unique函数来去除某一列中的重复数据,并保留其中的一行。假设你想要去除矩阵A中第二列中的重复数据,并保留其中的一行,可以使用以下代码:

[~, idx] = unique(A(:,2), 'stable');
A = A(idx,:);

在上面的代码中,unique(A(:,2), 'stable')会返回第二列中的唯一值,并保持原来的顺序。然后,idx存储了这些唯一值在原始矩阵中的索引。最后,通过A = A(idx,:)将矩阵A更新为只包含唯一值的行。

步骤说明:

  1. 使用unique(A(:,2), 'stable')获取第二列的唯一值,并保持原始顺序。
  2. idx存储了唯一值在原始矩阵中的索引。
  3. 使用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函数,您可以轻松高效地去除矩阵中某一列的重复数据,并保留唯一行。

MATLAB去除重复数据:高效保留唯一行

原文地址: https://www.cveoy.top/t/topic/fOqp 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录