2

我有两个矩阵。两者都有nx2值,第 1 列有 id,第 2 列有值:

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

第一个代表关于 object 的数据A,第二个代表关于 object 的数据B。我需要从两个矩阵中找到共同的 id 并将它们放入一个只有值的矩阵中:

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

条件是每一行表示对应于相同id的值。重要提示:忽略两个输入矩阵不共有的所有 id。我的数据集很长,我正在寻找以八度音程完成它的最佳方法(我猜类似的解决方案也适用于 matlab)。单个矩阵中的 ID 是唯一的。

注意:我之前忘了提到 id(对于单个矩阵)对于矩阵来说是唯一的,但它们不代表行号和没有意义的数字。

4

1 回答 1

4

这最容易通过以下方式完成intersect

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

result = [A(idxA,2),B(idxB,2)]
于 2012-11-07T16:40:43.003 回答