Как сравнить два массива и найти лучшее совпадение? - PullRequest
1 голос
/ 02 марта 2011

Например, у меня есть:

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. У меня уже работает простой алгоритм, но я хочу знать, есть ли формула, как это сделать?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 02 марта 2011

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

1 голос
/ 02 марта 2011

Ответили уже здесь.Просто пройдите через это, чтобы получить представление.
Вы можете сделать это подобным образом.

Немного связано.

В PHP это можно сделать с помощью массив_интерсект функция. [+]

...