1. 程式人生 > >matlab中用unique函式去除矩陣重複的行,且不改變矩陣順序

matlab中用unique函式去除矩陣重複的行,且不改變矩陣順序

>> A=[4,5,6;1,2,3;1,2,3]
A =

     4     5     6
     1     2     3
     1     2     3
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

可以使用unique()函式來去掉重複的行

unique(A,'rows',setOrder)
  
  • 1

setOrder有兩個選項可以選擇:

setOrder=’sorted’ 是表示去掉重複值後排序後輸出,預設是這個,因此有了上面的排序後輸出

setOrder=’stable’是表示去掉重複值後按原來的順序輸出

>> C= unique(A,'rows','stable')
C =

     4     5     6
     1     2     3
  
  • 1
  • 2
  • 3
  • 4
  • 5

以上是對於矩陣的操作,對向量的操作只要將 ‘row’去掉即可

>>A=[2 2 2 1 1 1 3 3 3 3 3];
>>unique(A)
ans =

     1     2     3
>> unique(A,'stable')
ans =

     2     1     3
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
					<link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-2011a91181.css" rel="stylesheet">
            </div>