我有两个向量,我需要逐个检查元素是否相等,并返回相等元素的总数。所以比较 a = {1,0,1} 和 b = {1,0,0} 会返回 2。
下面的示例是我对递归函数所做的努力,但返回错误。
Elementcompare[list1_, list2_] := If[First[list1] == First[list2], 1, 0] + Elementcompare[Rest[list1], Rest[list2]];
谢谢
最佳答案
我假设向量的长度通常是相同的。有一个功能 - HammingDistance你可以用它来定义:
elcom[a_List, b_List] := Length[a] - HammingDistance[a, b]
测试一下
elcom[a, b]
2
另请查看 EditDistance .
关于wolfram-mathematica - 如何检查两个向量的元素相等性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13882681/