Advertisement

在 matlab 中删除 matrix 中的重复 rows

阅读量:

近期在使用matlab进行编程时,遇到了两个相关问题,现举例如下:

设有如下矩阵:

IDX = [1,2,3;
2,3,1;
1,2,3;
2,3,1;
1,1,1;
1,1,1];

问题一:如何将其中重复的行予以剔除?

经过长时间查阅资料,发现多数人提供的解决方案均是自行编写的循环结构。笔者认为,对于如此基础的问题,matlab理应具备相应的内置函数来实现。

最终找到该函数:unique

其调用说明如下(摘自matlab帮助文档,此处不再进行翻译)

以下为示例代码的展示:

复制代码
    IDX = [1,2,3;
       2,3,1;
       1,2,3;
       2,3,1;
       1,1,1;
       1,1,1];
    classNo = unique(IDX,'rows');

获得的实验结果如下:

classNo =

1 1 1
1 2 3
2 3 1

--------------------------------------------------

全部评论 (0)

还没有任何评论哟~