Matlab 快速而清晰地找到两个向量的值何时相等的方法,可能针对不同的索引
假设两个向量A和B都很大,但大小不完全相同。当然,我可以通过将NaN或零添加到A或B来使它们的大小相同 我先验地知道a和B有许多相同的条目,但我不知道在哪个索引处,索引可能不同。例如,我可能有Matlab 快速而清晰地找到两个向量的值何时相等的方法,可能针对不同的索引,matlab,sorting,vector,Matlab,Sorting,Vector,假设两个向量A和B都很大,但大小不完全相同。当然,我可以通过将NaN或零添加到A或B来使它们的大小相同 我先验地知道a和B有许多相同的条目,但我不知道在哪个索引处,索引可能不同。例如,我可能有 A(1043) = B(1048) 我想找到所有这样的例子。在Matlab中有没有一种快速而干净的方法来实现这一点 使用intersect a = [5 7 10 17 35 80]; b = [6 7 15 80 27 35 77 95]; [c, ia, ib] = intersect(a,
A(1043) = B(1048)
我想找到所有这样的例子。在Matlab中有没有一种快速而干净的方法来实现这一点 使用intersect
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