在Matlab中找到另一个矩阵中矩阵的行成员

时间:2021-03-09 03:30:19

标签: matlab matrix

我有两个矩阵如下。我想检查 B 中 A 中行的任何成员。例如,如果我选择 A(2) [7 12 a] 中的第二行,因为 12 在 B(3) 中,它给了我[12 13 b] 或索引 3。或者如果我选择 A 的第 1 行,因为 A(1)=[ 5 3 a],而 B 的第二行是 5。代码给了我 2 或 [5 10 b] .

a= 100;
b= 200;

A= [5 3 a;
    7 12 a;
    9 10 a];
B =[1 6 b;
    5 10 b;
    12 13 b;
10 13 b];

我用过ismember函数,但是找不到结果。总之: row_chosen_from_A = 3 我想要 B 的索引,其中包括任意数量的 row_chosen_from_A。 results = 2, 4

1 个答案:

答案 0 :(得分:2)

您可以使用 '[LIA,LOCB] = ismember(A,B)' 来完成。

LOCB 显示每个匹配项的 B 行号。在您的示例中,LOCB 的结果是:

LOCB =

 2     0     0
 0     3     0
 0     4     0

这意味着 A 中的 5 位于 B 的第二行,12 位于第三行,10 位于第四行。

相关问题