在MATLAB中,unique函數用于查找數組中的唯一值,并返回它們的排序版本。unique函數的語法如下:
[C, ia, ic] = unique(A, 'sorted')
[C, ia, ic] = unique(A, 'stable')
其中,A是輸入的數組,可以是向量、矩陣、多維數組等。'sorted’和’stable’是可選的參數,用于指定返回的唯一值的排序方式。
unique函數返回的結果包括三個部分:
C是一個向量,包含A中的唯一值,并按照指定的排序方式進行了排序。如果A是一個多維數組,則C是一個列向量。
ia是一個向量,包含了A中每個唯一值的索引。即,C(ia) = A。
ic是一個向量,與輸入數組A的大小相同,包含了A中每個元素對應的唯一值的索引。即,C(ic) = A。
如果不指定排序方式,默認情況下,unique函數返回的唯一值是按照它們在A中出現的順序進行排序的。
以下是幾個示例,使用unique函數的不同參數和輸入類型:
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函數是一個非常有用的工具,可以幫助我們快速查找和處理數組中的唯一值。