gpt4 book ai didi

matlab - 如果有两个值,则新列中的值如果两列与另外两列匹配 Matlab

转载 作者:行者123 更新时间:2023-12-02 07:05:30 27 4
gpt4 key购买 nike

所以我有两个很长的矩阵。示例如下:

第一个矩阵:

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];

第二个矩阵

B = [...
1 1 916;
1 2 653;
1 3 114];

我想要一个三分矩阵,根据两个矩阵匹配的前两列中的值(相同),将第一个矩阵与第二个矩阵的第三列组合起来。

所以输出矩阵:

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];

最好的方法是什么?

提前致谢

最佳答案

使用 ismember 的第二个输出使用 'rows' 选项获取匹配的索引,从中您可以轻松构建结果:

[~, ind] = ismember(A(:, [1 2]), B(:, [1 2]), 'rows');
C = [A B(ind, 3)];

关于matlab - 如果有两个值,则新列中的值如果两列与另外两列匹配 Matlab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44188082/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com