2012-11-07 112 views
1

我有兩個矩陣。兩者都是與nx2值柱1具有ID和第2列具有值:在八度相交兩個矩陣

| id1 | A1 | 
| id2 | A2 | 
| id3 | A3 | 
| id4 | A4 | 

首先一個表示數據有關對象A和第二個表示關於對象B數據。我需要找到從兩個矩陣常見的IDS並把它們放到一個矩陣只值:

| A1 | B1 | 
| A2 | B2 | 
| A3 | B3 | 
| A4 | B4 | 

條件是每一行代表與同一ID值。重要提示:忽略兩個輸入矩陣不共有的所有ID。我的數據集很長,我正在尋找以八度音程完成它的最佳方式(類似的解決方案也可以與matlab一起工作,我猜也是如此)。單一矩陣中的ID是唯一的。

注意:我忘了提前說過,id(對於單個矩陣)對於矩陣是唯一的,但它們並不代表沒有意義的行號和數字。

+1

是IDS獨特之處? – Jonas

+0

yes id在矩陣中是唯一的。我會補充一點。 – useratuniv

回答

4

這與intersect最容易實現:

[uniqueIDs, idxA, idxB] = intersect(A(:,1),B(:,1)); 

result = [A(idxA,2),B(idxB,2)] 
+0

它似乎工作正常。謝謝。 – useratuniv