Rog*_*ier 3 matlab join matrix matching
所以我有两个很长的矩阵。下面给出了一个示例:
First_Matrix:
A = [...
1 1 1;
1 1 2;
1 1 3;
1 2 1;
1 2 2;
1 2 3;
1 3 1;
1 3 2;
1 3 3];
Run Code Online (Sandbox Code Playgroud)
第二矩阵
B = [...
1 1 916;
1 2 653;
1 3 114];
Run Code Online (Sandbox Code Playgroud)
我想要一个三分矩阵,它可以根据 2 个匹配矩阵的前两列中的值(相同)将第一个矩阵与第二个矩阵的第三列结合起来。
所以输出_矩阵:
C = [...
1 1 1 916;
1 1 2 916;
1 1 3 916;
1 2 1 653;
1 2 2 653;
1 2 3 653;
1 3 1 114;
1 3 2 114;
1 3 3 11];
Run Code Online (Sandbox Code Playgroud)
什么是最好的方法来做到这一点?
提前致谢
使用ismember带有'rows'选项的第二个输出来获取匹配的索引,您可以从中轻松构建结果:
[~, ind] = ismember(A(:, [1 2]), B(:, [1 2]), 'rows');
C = [A B(ind, 3)];
Run Code Online (Sandbox Code Playgroud)