Euklidischer Abstand in Oktave


16

Ich würde gerne wissen, ob es einen schnellen Weg gibt, den euklidischen Abstand zweier Vektoren in Oktave zu berechnen. Es scheint, dass es dafür keine spezielle Funktion gibt. Soll ich also einfach die Formel mit verwenden sqrt?


Dies wurde möglicherweise herabgestimmt, da dies eine grundlegende Frage ist, auf die Sie die Antwort finden sollten, indem Sie sich die Octave-Dokumentation ansehen oder eine entsprechende Internetsuche durchführen. Ich sehe jedoch, dass die Suche nach "oktaveneuklidischen" oder "oktaveneuklidischen Abständen" nicht annähernd so schnell zu nützlichen Ergebnissen führt wie die "Oktavnorm".
Elaine Hale

vorschlag: nächstes mal google sowas wie "matlab-abstand zwischen zwei vektoren". The Mathworks hat eine zentralisierte Dokumentation, die leicht zu finden ist (es gibt ein offizielles Octave-Dokumentationshandbuch, das Sie finden sollten, aber es kann ein wenig Arbeit erfordern, um es zu finden). Für etwas so Einfaches ist es wahrscheinlich, dass eine Funktion mit demselben Namen in Octave dasselbe tut.
Stefan Smith

Die Statistiken zu dieser Frage sprechen für sich.
Boatcoder

Antworten:


31

Der euklidische Abstand zwischen zwei Vektoren ist daher die Zweinorm ihrer Differenz

d = norm( x1 - x2 , 2 );

sollte den Trick in Octave machen. Beachten Sie, dass normdie 2-Norm standardmäßig verwendet wird , wenn das zweite Argument für weggelassen wird.



0

Hier ist eine Methode, um den Abstand zwischen einem Array von Vektoren ( X) und einem einzelnen Vektor ( X(1, :)zum Beispiel) zu berechnen :

distances = sqrt(sum((X - X(1, :)) .^ 2, 2));
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.