Can I plot eigenvalues corresponding to certain eigenvectors?
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Pawel Rochowski
am 22 Jun. 2016
Kommentiert: Pawel Rochowski
am 22 Jun. 2016
Hello everyone!
I've got a matrix 4x4 with with some kind of functions as a matrix elements. I would like to plot eigenvalues corresponding to certain eigenvector, in my case (-1 0 0 1). My idea is something like that (part of the code):
[vec,val]=eig(matrix);
for n=1:4
c=vec(:,n);
if c(1)+c(4)==0 && c(1)~=0 && c(4)~=0
y=loglog(w,(val(n,n));
hold on;
end
end
It seems that loop with element 'c=vec(:,n)' is not sufficient for the case, as Matlab draws only a few points (for sure too few). What I would like to get: first loop (n=1:4) takes each of eigenvector of the system, and then (second loop) draws only those eigenvalues, which corresponds to the statements given as in the code above. Any idea how to fix my code?
Any help appreciated!
0 Kommentare
Akzeptierte Antwort
Bjorn Gustavsson
am 22 Jun. 2016
Well first you have to remember that the eigenvectors doesn't necessarily exactly match your desired one, so you'll have to be prepared to save away that deviation too.
Perhaps something along:
[vec,val]=eig(matrix);
target_vec = [-1 0 0 1];
[mostParallel,idxBest] = max(abs(vec*target_vec'));
Lambda_mostParallel = val(idxBest,idxBest);
HTH
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!