我有两个矩阵。两者都是nx2
,值列1具有id,列2具有值:
| id1 | A1 |
| id2 | A2 |
| id3 | A3 |
| id4 | A4 |
第一个表示关于对象A
的数据,第二个表示关于对象B
的数据。我需要从两个矩阵中找到共同的id并将它们放入一个只有值的矩阵中:
| A1 | B1 |
| A2 | B2 |
| A3 | B3 |
| A4 | B4 |
每行的条件表示对应于相同id的值。重要说明:忽略两个输入矩阵不常见的所有ID。我的数据集很长,我正在寻找以八度音程完成它的最佳方法(类似的解决方案也适用于matlab我猜)。单个矩阵中的ID是唯一的。
注意:我之前忘了提到id(对于单个矩阵)对于矩阵是唯一的,但它们不代表没有意义的行号和数字。
答案 0 :(得分:3)
使用intersect
:
[uniqueIDs, idxA, idxB] = intersect(A(:,1),B(:,1));
result = [A(idxA,2),B(idxB,2)]