Matlab 两个矩阵在倍频程中相交
我有两个矩阵。两者都是nx2,值为第1列的id,第2列的值为:Matlab 两个矩阵在倍频程中相交,matlab,octave,Matlab,Octave,我有两个矩阵。两者都是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。我的数据集很长,我正在寻找在倍
| id1 | A1 |
| id2 | A2 |
| id3 | A3 |
| id4 | A4 |
第一个表示关于对象A的数据,第二个表示关于对象B的数据。我需要从两个矩阵中找到通用ID,并将它们放入一个只有值的矩阵中:
| A1 | B1 |
| A2 | B2 |
| A3 | B3 |
| A4 | B4 |
条件是每行表示对应于相同id的值。重要提示:忽略两个输入矩阵都不通用的所有id。我的数据集很长,我正在寻找在倍频程中实现它的最佳方法。我想类似的解决方案也可以与matlab一起使用。单个矩阵中的ID是唯一的
注意:我忘了在前面提到,单个矩阵的id对于矩阵来说是唯一的,但它们并不表示行号和没有意义的数字。这是使用intersect最容易实现的:
使用intersect最容易做到这一点:
是,ID在矩阵中是唯一的。我将补充这一点。是的ID在矩阵中是唯一的。我要补充这一点。
[uniqueIDs, idxA, idxB] = intersect(A(:,1),B(:,1));
result = [A(idxA,2),B(idxB,2)]