How can I calculate percentage of Euclidean distance?

22 vues (au cours des 30 derniers jours)
wisam kh
wisam kh le 15 Août 2018
Commenté : OCDER le 16 Août 2018
Hello
I use this code to find the similarities between features by the Euclidean distance.
function D= E_distance(n1, n2)
D = sqrt(sum((n1 - n2) .^ 2));
end
It will give me the distance between features, but I want to get the percentage where I can compare it to the threshold, how can I get it?

Réponse acceptée

OCDER
OCDER le 15 Août 2018
Modifié(e) : OCDER le 16 Août 2018
Assuming you want similarity % as explained here, alter the equation as such : https://stats.stackexchange.com/questions/53068/euclidean-distance-score-and-similarity
function S = E_similarity(n1, n2)
S = 1/(1+sqrt(sum((n1 - n2) .^ 2)));
end
If S == 1 (or distance is 0), then two points are the same
If S == 0 (or distance goes to infinite), then two points are very different
To use a cutoff of similarity, for instance 0.80, then you would so this
SimCutoff = 0.8;
if E_Similarity(n1, n2) <= SimCutoff
disp('Exceed cutoff. Not similar enough')
else
disp('Similar enough')
end
  2 commentaires
wisam kh
wisam kh le 16 Août 2018
Modifié(e) : wisam kh le 16 Août 2018
Thank you so much
It works wonderfully.
OCDER
OCDER le 16 Août 2018
You're welcome!

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by