在MATLAB中,unique函数用于查找数组中的唯一值,并返回它们的排序版本。unique函数的语法如下:
```matlab
[C, ia, ic] = unique(A, 'sorted')
[C, ia, ic] = unique(A, 'stable')
```
其中,A是输入的数组,可以是向量、矩阵、多维数组等。'sorted'和'stable'是可选的参数,用于指定返回的唯一值的排序方式。
unique函数返回的结果包括三个部分:
1. C是一个向量,包含A中的唯一值,并按照指定的排序方式进行了排序。如果A是一个多维数组,则C是一个列向量。
2. ia是一个向量,包含了A中每个唯一值的索引。即,C(ia) = A。
3. ic是一个向量,与输入数组A的大小相同,包含了A中每个元素对应的唯一值的索引。即,C(ic) = A。
如果不指定排序方式,默认情况下,unique函数返回的唯一值是按照它们在A中出现的顺序进行排序的。
以下是几个示例,使用unique函数的不同参数和输入类型:
```matlab
A = [2, 1, 3, 2, 2, 1];
[C, ia, ic] = unique(A, 'sorted');
% C = [1, 2, 3]
% ia = [2, 1, 3]
% ic = [2, 1, 3, 2, 2, 1]
A = [2, 1, 3, 2, 2, 1];
[C, ia, ic] = unique(A, 'stable');
% C = [2, 1, 3]
% ia = [1, 2, 3]
% ic = [1, 2, 3, 1, 1, 2]
A = [2, 1, 3; 2, 2, 1];
[C, ia, ic] = unique(A, 'sorted');
% C = [1; 2; 3]
% ia = [2; 1; 3]
% ic = [2, 1, 3; 2, 2, 1]
```
在MATLAB中,unique函数是一个非常有用的工具,可以帮助我们快速查找和处理数组中的唯一值。