1

2 つのベクトル 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 に答える