MATLAB从数组中删除相同的数字

时间:2016-02-25 23:07:02

标签: matlab vectorization

%Remove duplicated numbers from A to get B
A=[1 1 1 2 2 3 4 4 5];
B=[1 2 3 4 5];

从A创建B(即从数组A中删除相同的数字)有什么简单的方法(没有循环可能)?

2 个答案:

答案 0 :(得分:2)

MATLAB内置命令unique允许您从数组中提取所有唯一值:

A=[1 1 1 2 2 3 4 4 5];
B=unique(A);
B=[1 2 3 4 5];

请参阅:http://www.mathworks.com/help/matlab/ref/unique.html

答案 1 :(得分:0)

B = unique(A)

这应该有效:)

编辑:

来自unique() documentation

  

C = unique(A)返回与A中相同的数据,但没有重复。

     
      
  • 如果A是数字数组,逻辑数组,字符数组,分类数组,日期时间数组,持续时间数组或单元格数组   strings,则unique返回A中的唯一值.C的值   按顺序排列。

  •   
  • 如果A是表,则unique返回A中的唯一行。表C的行按排序顺序排列。

  •