Ich berechne Eigenvektoren in Matlab und Numpy, bekomme aber unterschiedliche Ergebnisse. Ich hatte den Eindruck, dass es nur eine Menge Eigenvektoren für eine gegebene Matrix gab, jedoch scheinen beide Ausgaben gültig zu sein.
Hier ist mein Matlab-Code:
%Vor%ig_val enthält:
%Vor%ig_vec enthält:
%Vor%Hier ist mein Python-Code:
%Vor%ig_val enthält:
%Vor%ig_vec enthält:
%Vor%Kann jemand erklären, warum diese Ausgänge unterschiedlich sind, so scheint es, als ob die zwei verschiedenen Sätze von Eigenvektoren gegeneinander verdrehte Versionen sind. Ist der eine Satz richtiger der andere?
Es ist nicht sofort offensichtlich, aber die Eigenvektoren, die Sie zurückgeben, sind in beiden Fällen gleich. Versuchen Sie Folgendes:
%Vor% Sie können also die Matlab-Eigenvektoren erhalten, indem Sie die Anzahl der Nullen mit -0.13-0.99j
multiplizieren, d. h. sie sind kolinear und daher für Eigenvektoren gleich.
Tags und Links python matlab numpy octave eigenvector