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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM