How to calculate eigenvectors without using eig
16 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I have a matrix, I need to get the eigenvectors. I already calculated the eigenvalues, Let's assume we have the eigenvalues, I wrote this
for i = 1:length(c)
syms y
cal_vec = (c-eig_Val(i)*I)*y == 0;
eigVec(:,i) = double(solve(cal_vec,y));
end
now I got zero as y, but I need to get y 1 and y2
0 comentarios
Respuestas (2)
Matt J
el 6 de Feb. de 2019
Hint: use the null command to find non-zero solutions to the eigenvector equation.
4 comentarios
Tyler Bilheimer
el 17 de Abr. de 2021
I dont understand where you're even supposed to put null in this
Angelo Yeo
el 6 de Jul. de 2023
Although this question is getting old, here is a sample solution to the question.
A=[2 1; 1, 2]; % A
lambdaA = round(eig(A)); % Finds values of A
% Note that "rational" option is used otherwise SVD is used in the
% calculation.
v1 = null(A - lambdaA(1) * eye(2), "rational");
v2 = null(A - lambdaA(2) * eye(2), "rational");
v1 = v1 ./ norm(v1, 2)
v2 = v2 ./ norm(v2, 2)
3 comentarios
Steven Lord
el 9 de Nov. de 2023
A=[2 1; 1, 2]; % A
lambdaA = [1, 3]; % Eigenvalues calculated earlier
% Note that "rational" option is used otherwise SVD is used in the
% calculation.
v1 = null(A - lambdaA(1) * eye(2), "rational");
v2 = null(A - lambdaA(2) * eye(2), "rational");
v1 = v1 ./ norm(v1, 2)
v2 = v2 ./ norm(v2, 2)
Now, to check v1 and v2, let's call eig and compare the result of the code above with the "known" answer.
[V, D] = eig(A)
That looks good to me.
Walter Roberson
el 9 de Nov. de 2023
The question is about calculation of eigenvectors knowing the eigenvalues
Ver también
Categorías
Más información sobre Linear Algebra en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!