eig: different base
2 次查看(过去 30 天)
显示 更早的评论
Please look at the following example:
clear all
A= ([1 1 1; 1 1 1; 1 1 1])
% the eigenvalues of that matrix are l1=0 (alg mult=2) l2=3 (alg mult=1)
% the following matrix contains eigen vectors (not the same base as matlab uses)
V2=[-1 -1 1;2 -1 1; -1 2 1]
% Check
Z=A*V2(:,1) % OK
Z=A*V2(:,2) % OK
Z=A*V2(:,3) % OK
so far so good but matlab does it differently
[V,D]=eig(A)
V
V = [ -1, -1, 1; 1, 0, 1; 0, 1, 1]
is there any way to force Matlab to chose a different base?
regards
Uwe Brauer
2 个评论
John D'Errico
2018-4-23
MATLAB does not use any explicit basis for the eigenvectors. If there are eigenvalues of multiplicity>1, then the eigenvectors are not unique, and MATLAB will choose them as it wants. You cannot control that. And as Torsten says, if you know what they are, then why use eig in the first place?
回答(1 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!