matlab矩阵中如何去掉重复的行?

2014-11-24 07:46:08 · 作者: · 浏览: 2

近来用matlab编程遇到了这样两个问题,如有以下矩阵:


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


问题1)怎样去掉其中的重复行呢?


在网上找了半天,大家都提供的是自己写的循环。我在想,这样简单的问题matlab肯定提供了基础函数调用。


最后发现是这个函数:unique


它的调用说明如下(来自matlab的help,这里我就不想翻译了)



举例代码如下:


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