假设我有两个向量 A 和 B,它们都很大,但大小不完全相同。我当然可以通过在 A 或 B 中添加 NaN 或零来使它们具有相同的大小。
我先验地知道 A 和 B 有许多相同的条目,但我不知道在哪些索引处,并且索引可能不同。例如我可能有
A(1043) = B(1048)
我想找到所有这样的例子。在 Matlab 中是否有一种快速而干净的方法来做到这一点?
使用相交
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)。
可以试试这个:
>> 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