La fórmula de distancia euclidiana encuentra la distancia entre dos puntos cualesquiera en el espacio euclidiano.
Un punto en el espacio euclidiano también se denomina vector euclidiano.
Puede usar la fórmula de distancia euclidiana para calcular la distancia entre vectores de dos longitudes diferentes.
Para vectores de diferente dimensión, se aplica el mismo principio.
Supongamos que un vector de dimensión inferior también existe en el espacio dimensional superior. A continuación, puede establecer todos los componentes faltantes en el vector dimensional inferior en 0 para que ambos vectores tengan la misma dimensión. Luego, usaría cualquiera de las fórmulas de distancia mencionadas para calcular la distancia.
Por ejemplo, considere un vector de 2 dimensiones A
en R²
con componentes (a1,a2)
, y un vector de 3 dimensiones B
en R³
con componentes (b1,b2,b3)
.
Para expresar A
en R³
, debe establecer sus componentes en (a1,a2,0)
. Entonces, la distancia euclídea d
entre A
y B
se puede encontrar usando la fórmula:
d² = (b1 - a1)² + (b2 - a2)² + (b3 - 0)²
d = sqrt((b1 - a1)² + (b2 - a2)² + b3²)
para su caso particular, los componentes serán o 0
o 1
, por lo que todas las diferencias serán -1
, 0
, o 1
. Las diferencias al cuadrado solo serán 0
o 1
.
Si estás usando números enteros o trozos individuales para representar los componentes, puede utilizar operaciones bit a bit simples en lugar de un poco de aritmética (^
significa XOR
o exclusive or
):
d = sqrt(b1^a1 + b2^a2 + ... + b(n-1)^a(n-1) + b(n)^a(n))
y estamos suponiendo que el arrastre componentes de A
son 0
, por lo que la fórmula final serán:
d = sqrt(b1^a1 + b2^a2 + ... + b(n-1) + b(n))
¿Qué contienen tus vectores? (Bits, flotadores, ...)? ¿No puedes llenarlos con 0 y aplicar una de las distancias de vectores de igual longitud? – Scharron
@Scharron, creo que estás confundiendo la dimensión de un vector con la longitud (norma) de un vector. OP no mencionó en ninguna parte que el número de componentes en un vector difiera del número de componentes en otro vector. – ardnew
@ardnew Tienes razón en las matemáticas puras. Pero por la forma en que se expresa la pregunta, supuse que hablaba sobre la longitud de la "informática", es decir, la cantidad de elementos en un vector. De lo contrario, no tendría problemas para calcular la distancia de los vectores de diferente longitud. – Scharron