0

我有一个具有 4 列(A、B、C、分数)的 excel_1,具有不同的组合。我有另一个 excel_2 有 3 列(A、B、C)。我想根据A,B,C找出分数。我正在尝试使用 excel 索引和匹配功能,但我仍然无法弄清楚。没有编码,一一匹配真的很麻烦...请问我知道如何在Matlab中编写代码吗?

例子:

excel_1
99 5 35 12
99 2 32 14
97 5 13 94
...

excel_2
97 5 13
99 2 32
...

执行代码后,

结果:

excel_2
97 5 13 94
99 2 32 14
...

非常感谢...

A = xlsread('excel_1.xlsx');
B = xlsread('excel_2.xlsx');

[~,J] = ismember(B,A(:,1:size(B,2)),'rows');
if any(J)
    result = A(J,:);
end

??? Subscript indices must either be real positive integers or logicals.

Error in ==> Untitled at 6
    result = A(J,:);    

解决了。B和A之间不可能存在。

4

1 回答 1

2

也许你可以试试这个。

[~,J] = ismember(excel_2,excel_1(:,1:size(excel_2,2)),'rows');
if any(J)
   result = excel_1(J,:);
end

然后

result =

    97     5    13    94
    99     2    32    14
于 2012-06-30T07:36:27.183 回答