2

如何比较 2 个相等长度的向量 - 我想获得不同的元素数量(在两个向量中具有相同的位置)。

Example:
x=[1 0 0 1 1]
y=[1 0 1 1 0]
result should be 2 since 3rd and 5th element of both vectors differ
4

3 回答 3

2

一种可能的解决方案:

x==y将返回一个长度向量length(x)(或length(y)因为xy长度相同),其中包含1wherex(i)==y(i)0where x(i)~=y(i)

>> x==y
ans =

   1   1   0   1   0

所以你需要做的就是将元素相加x==y并减去length(x)

>> length(x)-sum(x==y)
ans =  2

阿尔诺

于 2013-05-01T09:08:16.440 回答
0

将两个矩阵(/vectors)与 -

z = eq(x, y) % returns 1 for match and 0 for mismatch

它返回一个由 0 和 1 组成的矩阵z。最后计算其中的零个数:

sum(z == 0); % find total non matching elements 
于 2018-04-23T10:56:56.337 回答
0

sum(ne(x, y)) % 找到所有不同的元素给出 2

于 2018-10-26T22:12:42.103 回答