eigenvector

___ tag123python ___ Python ist eine dynamische und stark typisierte Programmiersprache, die die Usability betont. Zwei ähnliche, aber größtenteils inkompatible Versionen von Python sind weit verbreitet (2 und 3). Wenn Sie eine versionsspezifische Python-Frage haben, sollten Sie die Tags [python-2.7] oder [python-3.x] zusätzlich zum Tag [python] verwenden. Wenn Sie eine Python-Variante wie jython, pypy, iron-python usw. verwenden, kennzeichnen Sie diese bitte entsprechend. ___ tag123matlab ___ MATLAB ist eine von MathWorks entwickelte Hochsprachen- und interaktive Programmierumgebung für numerische Berechnungen und Visualisierung. Fragen sollten entweder mit [tag: matlab] oder [tag: oktave] versehen werden, aber nicht mit beiden, es sei denn, die Frage bezieht sich explizit auf beide Pakete. Wenn Sie dieses Tag verwenden, erwähnen Sie bitte die MATLAB-Version, mit der Sie arbeiten (z. B. R2017a). ___ qstnhdr ___ Widersprüchliche Eigenvektorausgaben zwischen Matlab und Numpy ___ qstntxt ___

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?

    
___ tag123numpy ___ NumPy ist eine Erweiterung der Python-Programmiersprache für den naturwissenschaftlichen und numerischen Bereich. ___ tag123octave ___ GNU Octave ist ein mathematisches Softwarepaket und eine Skriptsprache. Die Skriptsprache soll mit [tag: matlab] kompatibel sein, und die beiden Pakete sind fast vollständig konsistent. Die Syntax ist matrixbasiert. Octave ist in C ++ implementiert. Verwenden Sie entweder das [tag: octave] -Tag oder das [tag: matlab] -Tag, es sei denn, Ihre Frage betrifft ** beide ** Pakete. ___ tag123eigenvektor ___ Die Eigenvektoren einer quadratischen Matrix sind die Nicht-Null-Vektoren, die nach der Multiplikation mit der Matrix parallel zum ursprünglichen Vektor bleiben. ___ answer18884387 ___

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 %code% multiplizieren, d. h. sie sind kolinear und daher für Eigenvektoren gleich.

    
___
4
Antworten

Eigenwerte in MATLAB

Wenn ich in MATLAB den Befehl [V,D] = eig(a) für eine symmetrische Matrix ausfühle, befindet sich der größte Eigenwert (und der zugehörige Vektor) in der letzten Spalte. Wenn ich es jedoch mit einer nicht symmetrischen Matrix ausführe, ist de...
20.07.2010, 15:43
1
Antwort

Widersprüchliche Eigenvektorausgaben zwischen Matlab und Numpy

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...
18.09.2013, 23:51