How to calculate normalized euclidean distance on two vectors?

Hello
Let's say I have the following two vectors:
x = [(10-1).*rand(7,1) + 1; randi(10,1,1)]; y = [(10-1).*rand(7,1) + 1; randi(10,1,1)];
The first seven elements are continuous values in the range [1,10]. The last element is an integer in the range [1,10].
Now I would like to compute the euclidean distance between x and y. I think the integer element is a problem because all other elements can get very close but the integer element has always spacings of ones. So there is a bias towards the integer element.
How can I calculate something like a normalized euclidean distance on it?

 Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 3 de Jul. de 2016
Editada: Andrei Bobrov el 3 de Jul. de 2016
out = sqrt(sum((x-y).^2)/numel(x))
or
out = norm(x-y)/sqrt(numel(x))

1 comentario

Thank you for your answer. Do you know if there is really a bias in my example if I would take just the normal Euclidean distance?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.

Preguntada:

el 3 de Jul. de 2016

Comentada:

el 3 de Jul. de 2016

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by