unique函数主要用来提取矩阵或者向量不同的元素的,言下之意,返回的矩阵中不存在相同的元素。前面这句话只在不添加额外的条件时成立,若是添加了rows条件就是返回不同的行。
以下是最常用的几种形式:
1)C = unique(A)
返回矩阵C中不存在相同的元素,并且是一个n×1的向量,该向量是从小到大排序好了。
2)C = unique(A,’rows’)
因为指定了rows,返回矩阵C不存在相同的2行。
3)[b,i,j] = unique (A) %i是b中元素在原向量(矩阵A)中的位置;j是原向量(矩阵A)中各元素在惟一值向量b中的位置。
>> w1 = [1,1,2;2,3,3;4,5,6]
w1 =
1 1 2
2 3 3
4 5 6
>> t2 = unique(w1)
t2 =
1
2
3
4
5
6
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
>> w1 = [1,1,2;1,1,2;4,5,6]
w1 =
1 1 2
1 1 2
4 5 6
>> t2 = unique(w1,'rows')
t2 =
1 1 2
4 5 6
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
>> x = [1,2,3;1,4,6;5,1,3]
>>[b,i,j]=unique(x);
>>b
b =
1
2
3
4
5
6
>> j = j'
% 矩阵a中的元素在b中的位置,求好索引之后,按列组织的。
j =
1 1 5 2 4 1 3 6 3
>> i = i'
%b中向量在矩阵a的位置,一维的索引,且按列序计算索引的
i =
1 4 7 5 3 8