去掉重复、寻找相同不再难

去掉重复、寻找相同这两件事在数据中会经常遇到,第一思路是通过比较循环来解决,要麻烦一些。但在Matlab中,把它们做为矩阵来处理,会很方便,并且效率也会高一些。

 

对于一个矩阵,去掉重复的行(no repetitions),采用[C, ia, ic]=unique(A,’rows’);

C——为A去除重复行后的矩阵;

ia, ic 均为index,能够使A=C(ic),C=A(ia)成立。

 

对于A、B两个矩阵,若想找到A中和B相同的行,采用[Lia, Locb]=ismember(A,B,’rows’);

Lia,Locb的维数 与矩阵A相同,

Lia表示该行是否在B中存在,有了它就可以找到相同;

Locb表示该行在B中的index;

用起来比较爽,具体看help。

Leave a Reply

Your email address will not be published. Required fields are marked *