wolfram-mathematica - 如何检查两个向量的元素相等性?

标签 wolfram-mathematica

我有两个向量,我需要逐个检查元素是否相等,并返回相等元素的总数。所以比较 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/

相关文章:

wolfram-mathematica - Mathematica 中表达式开头的非交换乘法和负系数

R中的正则化2F1超几何

wolfram-mathematica - Mathematica : How to check if no argument is supplied to a function?

wolfram-mathematica - 如何捕获由TimeConstrained生成的中断?

wolfram-mathematica - 在具有保留参数的函数中键入检查符号的快速方法

wolfram-mathematica - 数学 : Unable to zoom in/out using the mouse on a 3D graphics after Rotate[]

wolfram-mathematica - 如何像mathematica中的max或min一样使用排序函数

wolfram-mathematica - 如何在 Manipulate 中使用索引对象,以便将其状态保存为其他动态?

debugging - 如何在 Mathematica 的模块中获取调用函数的名称?

wolfram-mathematica - 在 ListPlot 中指定颜色序列