matlab - 如何与matlab中的行进行比较

标签 matlab matrix

我有一个与此类似的矩阵:

1468    1468

1468    1711

1468    1469

1711    1468

1711    1711

1711    1469

1469    1468

1469    1711

1469    1469

如果条目 (j,i) 存在,我想删除条目 (i,j)。例如,我想删除 1711 1468,因为 1468 1711 出现在其上方。

我该怎么做?

最佳答案

假设删除行的顺序并不重要,您可以组合 SORTUNIQUE像这样:

m = [1468    1468
1468    1711
1468    1469
1711    1468
1711    1711
1711    1469
1469    1468
1469    1711
1469    1469]

[~,v]=unique(sort(m,2),'rows');

trimmedM = m(sort(v),:) %# keep the row ordering as in the original

trimmedM =
        1468        1468
        1711        1468
        1711        1711
        1469        1468
        1469        1711
        1469        1469

请注意,unique 将保留最后一个重复条目,这似乎符合您的要求。

关于matlab - 如何与matlab中的行进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5313248/

相关文章:

c++ - 在C++中将对象添加到2D vector

c++ - 如何在时间复杂度方面优化cpp中的矩阵乘法?

matlab - 在 MATLAB 中求解非线性方程组时出错

string - 如何识别和统一字符串中实例的日期格式?

python - 使用基于状态的标签注释视频帧

algorithm - 矩阵的二进制搜索

python - 二维数组作为 Pytorch 中的索引

Matlab 打印图形到 eps 一致地切割轴标签

algorithm - 使用 MATLAB 将 2D 图像转换为 3D

r - 在 R 中使用 apply 将矩阵转换为配对列表?