1

假设我有两个向量 A 和 B,它们都很大,但大小不完全相同。我当然可以通过在 A 或 B 中添加 NaN 或零来使它们具有相同的大小。

我先验地知道 A 和 B 有许多相同的条目,但我不知道在哪些索引处,并且索引可能不同。例如我可能有

   A(1043) = B(1048)

我想找到所有这样的例子。在 Matlab 中是否有一种快速而干净的方法来做到这一点?

4

2 回答 2

3

使用相交

a = [5 7 10 17 35 80];
b = [6 7 15 80 27 35 77 95];
[c, ia, ib] = intersect(a, b);

c 是两者中的值,ia 和 ib 是定位它们的索引,使得 a(ia)==b(ib)。

于 2013-08-02T16:31:39.010 回答
0

可以试试这个:

>> A=[123:17625];
>> B=[263:265 1:29];
>> find(ismember(A,B))

ans =

   141   142   143 %indices of A

>> find(ismember(B,A))

ans =

     1     2     3 %indices of B
于 2013-08-02T16:32:12.900 回答