2012-11-07 82 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