MATLAB 数组函数参考

MATLAB unique 函数去掉重复元素并排序。多输出时可同时拿到首次出现位置和映射下标。

语法

C = unique(A)
[C, ia, ic] = unique(A)
C = unique(A, 'rows')   % 按整行去重

输入参数

参数说明
A输入数组

输出

第一个输出是去重排序后的值;第二个是每个唯一值在原数组的首次位置;第三个是每个原元素对应的唯一值下标。

示例

unique([3 1 2 3 1 4])
ans =
     1     2     3     4

三输出:

A = [5 3 5 3 7];
[C, ia, ic] = unique(A)
C = 3 5 7
ia = 2 1 5
ic = 2 1 2 1 3

按整行去重:

M = [1 2; 3 4; 1 2];
unique(M, 'rows')
ans =
     1     2
     3     4

注意事项

  • 统计频次可用 histcounts(ic, max(ic)) 或 tabulate;
  • 对字符串/cell 数组同样支持去重。