2012-03-18 29 views
1

我有一個矢量M與多個重複的可能性,我想創建一個索引矢量,忽略所有重複。我試過[C,ia,ib] = unique(M),但我不太清楚如何使用ia和ib。在matlab矢量中查找唯一索引?

編輯:對不起,我錯過了一個重要的細節,I是一個現有的索引向量,它需要擺脫包含重複值的所有索引。所以原來的矢量看起來像M(I),我想「清理」了I,我要是直接IA =我不會保留的一

回答

2

原始數據從http://www.mathworks.co.uk/help/techdoc/ref/unique.html

[C,ia,ic] = unique(A)還返回索引向量iaic,使得C = A(ia)A = C(ic)

例如:

[C ia ic] = unique([11 22 11 33 22 44]) 

結果:

C = 

    11 22 33 44 

ia = 

    3 5 4 6 

ic = 

    1 2 1 3 2 4 

更新

在更新的情況下,你應該做的I = I(ia)

+0

謝謝你解決了我的問題! – Bonk 2012-03-18 21:29:33

0

您可以使用可選輸出。

a=round(10*rand(1,10)) 

[dummy I]=unique(a,'first'); 

u=a(sort(I));