WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Bestimmung des Eigenvektors

 

Grünschnabel
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 80
Anmeldedatum: 01.10.13
Wohnort: ---
Version: MATLAB R2013a
     Beitrag Verfasst am: 19.01.2014, 11:55     Titel: Bestimmung des Eigenvektors
  Antworten mit Zitat      
Hallo Zusammen,
ich habe eine Frage zur Bestimmung eines Eigenvektors.

Ich habe eine Matrix
Code:
A=[-0.14082 -0.25714; -0.42245 -0.77143]
und möchte den zugehörigen Eigenvektor v durch Lösen des Gleichungssystems Av=0 bestimmen.
Da die Zeilen der Matrix A proportional zueinander sind (sonst könnte ich das GS nicht lösen), ist zu erkennen, dass sich folgende Lösungsvektoren ergeben:
Code:
v=[0.77143; -0.42245]
oder
Code:
v= [-0.25714; 0.14082]


Die Lösungsvektoren kann ich bestimmen, indem ich die Diagonalelemente von A und ihreVorzeichen vertausche.

Mein Ziel könnte ich jetzt mit for-Schleifen erreichen, da es sich aber um eine "Standardoperation" handelt, wollte ich Fragen, ob es nicht einen MATLAB-Befehl für mein Problem gibt?!?

Ich habe versucht mit der Funktion
Code:
zu arbeiten, aber dann bekomme ich die gesuchten Eigenwerte für meine Matrix A... Hmmm

Vielen Dank im Voraus
Der Grünschnabel
Private Nachricht senden Benutzer-Profile anzeigen


Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.01.2014, 14:23     Titel: Re: Bestimmung des Eigenvektors
  Antworten mit Zitat      
Grünschnabel hat Folgendes geschrieben:

Ich habe versucht mit der Funktion
Code:
zu arbeiten, aber dann bekomme ich die gesuchten Eigenwerte für meine Matrix A...


Das ist so, weil Du Matlab genau darum gebeten hast:
Zitat:
lambda = eig(A) returns a vector containing the eigenvalues


Die Eigenvektoren bekommst Du mit
Code:
[V, D] = eig(A)


D ist dann eine Diagonalmatrix mit den Eigenwerten auf der Diagonalen und V ist eine Matrix, deren Spalten die Eigenvektoren enthalten.
Private Nachricht senden Benutzer-Profile anzeigen
 
Grünschnabel
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 80
Anmeldedatum: 01.10.13
Wohnort: ---
Version: MATLAB R2013a
     Beitrag Verfasst am: 19.01.2014, 18:09     Titel:
  Antworten mit Zitat      
Hallo Epfi,
vielen Dank für deine Antwort!
Zitat:
Die Eigenvektoren bekommst Du mit
Code:
[V, D] = eig(A)
D ist dann eine Diagonalmatrix mit den Eigenwerten auf der Diagonalen und V ist eine Matrix, deren Spalten die Eigenvektoren enthalten.

Diesen Ansatz hatte ich auch in der Matlab-Hilfe gefunden und getestet. Ich würde für meine Matrix
Code:
A=[-0.14082 -0.25714; -0.42245 -0.77143]

das folgende Ergebnis V heraus bekommen:

V =
0.8771 0.3162
-0.4803 0.9487

Dies passt allerdings nicht zu meiner Lösung (Musterlösung aus Literatur), denn ich weiß, dass für die Vektoren der Matrix A das Ergebniss herauskommen müsste:

v =
0.7714
-0.4224

oder

v =
-0.2571
0.1408

Kannst Du mir das erklären bzw. hast Du einen anderen Lösungsvorschlag?!?
Und wie schon oben erwähnt, können die Lösungsvektoren bestimmt werden, indem ich die Diagonalelemente von A und ihre Vorzeichen vertausche.

Vielen Dank im Voraus.
Der Grünschnabel
Private Nachricht senden Benutzer-Profile anzeigen
 
Grünschnabel
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 80
Anmeldedatum: 01.10.13
Wohnort: ---
Version: MATLAB R2013a
     Beitrag Verfasst am: 19.01.2014, 19:43     Titel:
  Antworten mit Zitat      
Hallo Nochmal,
mit der folgenden kleinen Funktion würde ich die Ergebnisse der erzielen:
Code:
function [ V_Vector ] = Vector_V( Mat )

[NRows, Ncols] = size (Mat)
Mat_Out = Mat;

for i=1:NRows
    Mat_Out(i,i) = -1* Mat(NRows+1-i,NRows+1-i)
end;

V_Vector = Mat_Out(:,1)
end


Aber ich kann mir gut vorstellen, dass das bestimmt auch mit einer "fertigen Matlab Funktion geht, oder?

Beste Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
EliteTUM
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 70
Anmeldedatum: 21.04.11
Wohnort: München
Version: ---
     Beitrag Verfasst am: 19.01.2014, 20:02     Titel:
  Antworten mit Zitat      
Grünschnabel hat Folgendes geschrieben:

das folgende Ergebnis V heraus bekommen:

V =
0.8771 0.3162
-0.4803 0.9487

Dies passt allerdings nicht zu meiner Lösung (Musterlösung aus Literatur), denn ich weiß, dass für die Vektoren der Matrix A das Ergebniss herauskommen müsste:

v =
0.7714
-0.4224

oder

v =
-0.2571
0.1408

Kannst Du mir das erklären bzw. hast Du einen anderen Lösungsvorschlag?!?


Die Vektoren v1, v2 und v3 sind linear abhängig, also in Richtung identisch und nur in der Länge unterschiedlich.

v1 =
0.7714
-0.4224

v2 =
-0.2571
0.1408

v3 =
0.8771
-0.4803

Normiere die drei Vektoren auf das erste Element des Vektors (also so, dass das erste Vektorelement 1 ist) und du erkennst, dass sie identisch sind.
Du kriegst also mit dem Befehl eig(A) die korrekten Werte.
_________________

- EliteTUM
_____________________________________
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.