How to calculate normalized euclidean distance on two vectors?

11 visualizzazioni (ultimi 30 giorni)
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?

Risposta accettata

Andrei Bobrov
Andrei Bobrov il 3 Lug 2016
Modificato: Andrei Bobrov il 3 Lug 2016
out = sqrt(sum((x-y).^2)/numel(x))
or
out = norm(x-y)/sqrt(numel(x))
  1 Commento
Sepp
Sepp il 3 Lug 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?

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Statistics and Machine Learning Toolbox in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by