• matlab利用unique()函数去除重复数据


    K>> a_12=[16,7;5,6;7,8;10,12;5,6;9,10]

    a_12 =

    16 7
    5 6
    7 8
    10 12
    5 6
    9 10

    K>> [ha,ha_1,ha_2]=unique(a_12,'rows','stable')

    ha =

    16 7
    5 6
    7 8
    10 12
    9 10

    可见,ha是返回的去除重复数据后的结果。
    ha_1 =

    1
    2
    3
    4
    6

    可见,ha_1是返回的去除重复数据后的数据在原始数据中的索引值。
    ha_2 =

    1
    2
    3
    4
    2
    5

    可见,ha_2是返回的去除重复数据前的数据在原始数据中的索引值。

    K>> a_12(ha_1,:)

    ans =

    16 7
    5 6
    7 8
    10 12
    9 10

    利用去除重复数据后的数据在原始数据中的索引可以得到去除重复数据后的数据。

    注意: 假如数据是3列,x、y列数据相同,z数据不同的时候,此时也想去掉这样的重复数据,那么就用这样的方式:[ha,ha_1,ha_2]=unique(a_12(:,1:2),'rows','stable') % 这个即是说,根据前两列的数据去除重复数据。

        referline=sortrows(referline,1);%排序
        [ha,ha_1,ha_2]=unique(referline(:,1:2),'rows','stable');% 去掉重复数据
        referline=referline(ha_1,:); % 去掉重复数据
  • 相关阅读:
    Git的Patch功能
    Android系统进程Zygote启动过程的源代码分析
    Android深入浅出之Zygote
    Android Ams浅析
    Handle机制详解
    详解Android中AsyncTask的使用
    将博客搬至CSDN
    Titanium studio安装
    Titanium studio介绍
    Android WebView useragent
  • 原文地址:https://www.cnblogs.com/yibeimingyue/p/15727494.html
Copyright © 2020-2023  润新知