Angenommen es gibt 2 Punkte in einem x/y Koordinatensystem und man möchte die "Abweichung" berechnen.
Ich würde es so machen:
Delphi-Quellcode:
Abweichung2 := SQR((x2-x1) / x1) + SQR((y2-y1)/ y1); // Summe der Fehlerquadrate
Abweichung := SQRT(Abweichung2); // Wurzelziehen
Die einzelnen Fehler werden quadriert (SQR) und aufsummiert.
Wenn man anschliesend die Wurzel zieht, hat man ein gutes Mass zur Beurteilung wie weit sich die Punkte voreinander unterscheiden.
Was hier mit 2 Dimensionen geht lässt sich auf beliebig viele Dimensionen erweitern.
Delphi-Quellcode:
Function SimilarityIndex (Const A,B : TValues) : Double;
var i : integer;
abweichung2 : double;
Begin
abweichung2 := 0.0;
for i := 0 to 5 do
abweichung2 := abweichung2+ SQR((B.value[i]-A.value[i])/A.Value[i]);
result := SQRT(abweichung2);
end