2 Stimmen

Matlab: Optimaler Abstandsvergleich zwischen den Elementen zweier Mengen

Ich habe zwei Vektoren mit Fließkommazahlen, die bis auf einen kleinen Fehler die gleichen Werte enthalten, aber nicht unbedingt auf die gleiche Weise sortiert sind; zum Beispiel, A=rand(10);a=eig(A);b=eig(A+1e-10); (denken Sie daran, dass eig gibt die Eigenwerte in keiner bestimmten Reihenfolge aus).

Ich muss eine Permutation finden p die mit den entsprechenden Elementen übereinstimmen, d. h. p=mysterious_function(a,b) tal que norm(a-b(p)) klein ist.

Gibt es eine vorhandene Funktion, die dies in eine vernünftige und sichere Weise tut, oder muss ich wirklich meine eigene langsame und schlecht-Fehler-überprüft-Implementierung ausrollen?

Ich benötige dies vorerst nur zu Testzwecken, es muss nicht übermäßig optimiert werden. Beachten Sie, dass die Lösung, die das Sortieren beider Vektoren mit sort schlägt fehl, wenn Vektoren komplexe Argumente mit gleichem Modul enthalten, wie die typische Ausgabe von eig() .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X