La distancia euclidiana entre dos puntos en el espacio euclidiano es la longitud de un segmento de línea entre los dos puntos. Se puede calcular a partir de las coordenadas cartesianas de los puntos utilizando el teorema de Pitágoras, por lo que en ocasiones se denomina distancia de Pitágoras. La distancia euclidiana entre los dos vectores viene dada por
√Σ(vect1i - vect2i)2
dónde,
- vect1 es el primer vector
- vect2 es el segundo vector
Por ejemplo, tenemos dos vectores, vect1 como (1, 4, 3, 5) y vect2 como (2, 3, 2, 4). Su distancia euclidiana está dada por, √(1 – 2) 2 + (4 – 3) 2 + (3 – 2) 2 + (5 – 4) 2 que es igual a 2. A continuación se muestra la implementación usando dos vectores de igual longitud:
Ejemplo 1:
R
# Function to calculate Euclidean distance # Sum function calculates the sum of the # squares of absolute difference between # corresponding elements of vect1 and vect2 CalculateEuclideanDistance <- function(vect1, vect2) sqrt(sum((vect1 - vect2)^2)) # Initializing two vectors having equal length vect1 <- c(2, 4, 4, 7) vect2 <- c(1, 2, 2, 10) print("Euclidean distance between vect1 and vect2 is: ") # Calling CalculateEuclideanDistance function CalculateEuclideanDistance(vect1, vect2)
Producción:
Ejemplo 2:
R
# Function to calculate Euclidean distance # Sum function calculates the sum of the # squares of absolute difference between # corresponding elements of vect1 and vect2 CalculateEuclideanDistance <- function(vect1, vect2) sqrt(sum((vect1 - vect2)^2)) # Initializing two vectors having equal length vect1 <- c(2, 3, 4, 7) vect2 <- c(1, 2, 3, 8) print("Euclidean distance between vect1 and vect2 is: ") # Calling CalculateEuclideanDistance function CalculateEuclideanDistance(vect1, vect2)
Producción:
Si los dos vectores tienen una longitud diferente, el compilador muestra un mensaje de advertencia. A continuación se muestra la implementación utilizando dos vectores que tienen una longitud diferente.
Ejemplo 3:
R
# Function to calculate Euclidean distance # Sum function calculates the sum of the # squares of absolute difference between # corresponding elements of vect1 and vect2 CalculateEuclideanDistance <- function(vect1, vect2) sqrt(sum((vect1 - vect2)^2)) # Initializing two vectors having equal length vect1 <- c(4, 3, 4, 8) vect2 <- c(3, 2, 3, 1, 2) print("Euclidean distance between vect1 and vect2 is: ") # Calling CalculateEuclideanDistance function CalculateEuclideanDistance(vect1, vect2)
Producción:
Como puede ver en la salida, el compilador nos da una advertencia ya que la longitud de vect1 es más corta que la de vect2.
Ejemplo 4:
R
# Function to calculate Euclidean distance # Sum function calculates the sum of the # squares of absolute difference between # corresponding elements of vect1 and vect2 CalculateEuclideanDistance <- function(vect1, vect2) sqrt(sum((vect1 - vect2)^2)) # Initializing two vectors having equal length vect1 <- c(1, 7, 1, 3, 10, 15 ) vect2 <- c(3, 2, 10, 11 ) print("Euclidean distance between vect1 and vect2 is: ") # Calling CalculateEuclideanDistance function CalculateEuclideanDistance(vect1, vect2)
Producción:
Como puede ver en la salida, el compilador nos da una advertencia ya que la longitud de vect2 es más corta que la de vect1.