如何比较两个数组并找到最佳匹配?
例如我有:
array[3] arr1 = {.5,.5,0}
array[3] arr2 = {.5,0,.5}
array[3] arr3 = {0,.5,.5}
array[3] findarr = {1,1,0}
显然,arr1 是 findarr 的最佳匹配。我已经有了一个简单的算法,但我想知道是否有一个公式可以实现这一点?
谢谢!
For example I have:
array[3] arr1 = {.5,.5,0}
array[3] arr2 = {.5,0,.5}
array[3] arr3 = {0,.5,.5}
array[3] findarr = {1,1,0}
Obviously, arr1 is the best match for findarr. I already have a simple algorithm working but I want to know if there is a formula for how to do this?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
f = pow(arrX[0]-findarr[0],2) + pow(arrX[1]-findarr[1],2) + pow(arrX[2]-findarr[2],2);
pow(x,2) == x*x
因此,“最佳匹配”将是数组,其中
f
最小f = pow(arrX[0]-findarr[0],2) + pow(arrX[1]-findarr[1],2) + pow(arrX[2]-findarr[2],2);
pow(x,2) == x*x
So, "the best match" will be array, with smallest
f
已经在这里回答了。只需浏览一下即可获得想法。
您可以用类似的方式进行操作。
有点相关。
在 PHP 中,您可以使用 array_intersect 函数。[+]
Answered here already. Just go through it to get an idea.
You can do it in similar manner.
A bit related.
In PHP, you can do it using array_intersect function.[+]