How to calculate normalized euclidean distance on two vectors?

22 visualizaciones (últimos 30 días)
Sepp
Sepp el 3 de Jul. de 2016
Comentada: Sepp el 3 de Jul. de 2016
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
Sepp
Sepp el 3 de Jul. de 2016
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 Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by