2016-04-24 5 views
0

Ich bin auf der Suche nach zwei Listen von Entfernungen (Schwimmer) in Python vergleichen. Die Abstände zeigen, wie weit mein Roboter von einer Wand in verschiedenen Winkeln entfernt ist. Ein Array ist mein "best-rate" -Distanzfeld und das andere ist das Array von tatsächlichen Distanzen. Ich muss eine Zahl zwischen [0, 1] zurückgeben, die die Ähnlichkeit zwischen diesen beiden Float-Listen darstellt. Die Abstände entsprechen 1 zu 1. Das heißt, der Abstand am Index 0 sollte mit dem Abstand am Index 0 im anderen Array verglichen werden. Im Moment teile ich für jeden Index die kleinere Zahl durch die größere Zahl, um einen prozentualen Unterschied zu erhalten. Dann nehme ich den Durchschnitt dieser prozentualen Unterschiede (gesamter prozentualer Unterschied/Anzahl der Einträge im Array), um eine Zahl zwischen 0 und 1 zu erhalten. Mein Ansatz scheint jedoch nicht genau genug zu sein. Gibt es einen besseren Algorithmus zum Vergleichen zweier geordneter Float-Listen?Vergleichen Sie zwei Listen von Entfernungen (Floats) in Python

+0

Es gibt nicht viel zu tun. Es gibt alle möglichen Arten, zwei Vektoren auf Ähnlichkeit zu vergleichen. Manche sind gut für manche Dinge, andere für andere Dinge. –

Antwort

2

Es sieht so aus, als ob Sie einen normalisierten euklidischen Abstand zwischen zwei Vektoren benötigen.

enter image description here

Es ist einfach zu caclulate und Sie können here es mehr darüber lesen.