Евклидова формула расстояния находит расстояние между любыми двумя точками в евклидовом пространстве.
Точка в евклидовом пространстве также называется евклидовым вектором.
Вы можете использовать евклидову формулу расстояния, чтобы вычислить расстояние между векторами двух разных длин.
Для векторов разных размеров применяется тот же принцип.
Предположим, что вектор более низкой размерности также существует в пространстве более высокой размерности.Затем вы можете установить все недостающие компоненты в нижнем мерном векторе на 0, чтобы оба вектора имели одинаковое измерение.Затем вы будете использовать любую из упомянутых формул расстояния для вычисления расстояния.
Например, рассмотрим двумерный вектор A
в R²
с компонентами (a1,a2)
и трехмерный вектор B
в R³
с компонентами (b1,b2,b3)
.
Чтобы выразить A
в R³
, вы должны установить его компоненты равными (a1,a2,0)
.Тогда евклидово расстояние d
между A
и B
можно найти по формуле:
d² = (b1 - a1)² + (b2 - a2)² + (b3 - 0)²
d = sqrt((b1 - a1)² + (b2 - a2)² + b3²)
Для вашего конкретного случая компоненты будут либо 0
, либо 1
,поэтому все различия будут -1
, 0
или 1
.Тогда разница в квадрате будет 0
или 1
.
Если вы используете целые числа или отдельные биты для представления компонентов, вы можете использовать простые побитовые операции вместо некоторой арифметики (^
означает XOR
или exclusive or
):
d = sqrt(b1 ^ a1 + b2 ^ a2 + ... + b(n-1) ^ a(n-1) + b(n) ^ a(n))
И мы предполагаем, что конечные компоненты A
равны 0
, поэтому окончательная формула будет:
d = sqrt(b1 ^ a1 + b2 ^ a2 + ... + b(n-1) + b(n))