ähnlichkeit von zwei double arrays berechnen
-
hallo!
ich habe zwei double arrays mit je 26 elementen. jetzt möchte ich eine funktion schreiben die beide arrays vergleicht und einen wert in prozent zurückgiebt wie ähnlich sich beide sind. dabei kommt es auf die reihenfolge der elemtente im array an:
{1, 2, 3, 4} und {1, 2, 4, 3} ist ähnlicher als
{1, 2, 3, 4} und {4, 3, 2, 1}da ich nocht nit so lange bei c# bin weis ich nicht was die sprache so alles zu bieten hat. weis jemdand wie ich das bewerkstelligen könnte?
mit freundlichen grüßen
meister123
-
was man vielleicht nocht erwähnen sollte ist, dass nicht zwingend identische werte in den arrays stehen. also muss die reihenfolge und die abweichung zwischen den werten beachtet werden.
-
Du könntest die Summe der (absoluten bzw. quadratischen) Differenzen der einzelnen Array-Elemente nehmen. Je kleiner dieser Wert, desto ähnlicher sind sich die Arrays (bei 0 sind sie dann exakt gleich).
Einen Prozentwert anzugeben ist schwierig, da man schwer sagen kann, wann sie zu 0% identisch sind (z.B. wenn alle Element verschieden sind?).
-
hallo!
danke erstmal.
es müssen nicht unbedingt prozentwerte herauskommen, mir ist schon geholfen wenn ich in einer zahl festhalten kann ob sie sich stark oder nicht so stark unterscheiden.lg
meister123
-
Jo. Ich denke die Idee von Th war schon sehr gut.
Ganz allgemein kannst du die arrays als vektoren auffassen und den abstand zwischen den beiden berechnen. Da gibt es verschiedene Möglichkeiten:
http://de.wikipedia.org/wiki/Distanzfunktion