广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    MATLAB如何对数组元素去重(得到集合)?

    来源:网络收集  点击:  时间:2024-08-13
    【导读】:
    介绍MATLAB中的unique和uniquetol函数,它们可以根据有重复元素的列表构造集合。工具/原料moreMATLAB 2016aunique函数用法1/6分步阅读

    对于列表A,使用unique(A)返回由A中的不重复元素构成的列表,相当于列表转集合。

    2/6

    函数unique可以有三个返回值。

    第一个是返回的集合列表;

    第二个是返回集合列表中每一项在原有列表中的位置;

    第三个是原有列表中的每一项在返回集合列表中的位置。如图。

    3/6

    对于table表格,unique函数会将每一行看作整体,返回不含有重复项的表格。

    4/6

    unique可以带有参数rows,这样在处理矩阵时,会将矩阵的每一行看作整体。

    5/6

    unique还可以带有参数stable或者sorted,表示求出的集合列表是否排序。

    stable表示按照原有相对顺序,sorted表示对得到的集合排序。

    6/6

    unique把NaN看作互不相同的元素,这一点和很多其它集合操作函数一样。

    uniquetol函数用法1/5

    uniquetol可以合并大小相差小于某特定值的数据。uniquetol(A, tol)会按照

    abs(u-v) = tol*max(abs(A(:)))

    来判断A中的元素u和v算不算“同一个”元素。

    如图,unique(A, 0.01)将会合并1.999和2.000

    2/5

    uniquetol和unique类似,可以有三个返回值,每个返回值的功能也是类似的。

    3/5

    uniquetol参数较多,与unique不同,没有单个的rows参数。

    需要配合使用ByRows,true来达到unique中rows的效果,即将每一行视为整体。

    4/5

    uniquetol还有参数OutputAllIndices,true

    使用此参数,如图,ia列表将是一个元胞数组,其中一个元胞是一个重复元素的所有下标。

    5/5

    uniquetol还支持参数 DataScale,/单个数值

    如果是列表,将表示每一列的DS值,如果是单个数值,表示共同的DS值。

    如图,第一个Inf表示第一列元素无视大小差距;第二个100表示第二列的DS值为100...

    注意事项

    风格类似的函数还有ismember与ismembertol,用于判断一些元素是否在某一列表中。

    求集合并集用union,会自动合并重复元素。

    MATLAB集合运算
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_1118387.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-07 19:56:49  耗时:0.036
    0.0366s