matlab矩阵中如何去掉重复的行;如何找到相同的行,并找到其位置

找到了2个函数:unique和ismember

1. 去掉其中的重复行:unique

例子:

IDX = [1,2,3;
       2,3,1;
       1,2,3;
       2,3,1;
       1,1,1;
       1,1,1];
classNo = unique(IDX,'rows');  

 

2. 在matlab中找到相同的行,并找到其位置:ismember

 

例子:

IDX = [1,2,3;
       2,3,1;
       1,2,3;
       2,3,1;
       1,1,1;
       1,1,1];
classNo = unique(IDX,'rows');  
a = [1,2,3];
b = [1,5,4];
[tfa,loca] = ismember(a,classNo,'rows')
[tfb,locb] = ismember(b,classNo,'rows')

说明:如果找不到,编号返回为0(比如途中locb)。

 

参考:http://blog.csdn.net/loveaborn/article/details/8486010

posted @ 2016-04-16 20:01  Deribs4  阅读(8057)  评论(0)    收藏  举报