How to calculate eigenvectors without using eig

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

Answers (2)

Hint: use the null command to find non-zero solutions to the eigenvector equation.

4 Comments

can you explain further please, i don't understand what you mean
Matt J
Matt J on 6 Feb 2019
Edited: Matt J on 6 Feb 2019
There is a Matlab command called null (documentation here) which will find vectors in the null space of a matrix.
I dont understand where you're even supposed to put null in this
Matt J
Matt J on 18 Apr 2021
Edited: Matt J on 18 Apr 2021
Well, the eigenvectors are by definition the null vectors of the matrix , so it should be straightforward to build that matrix and apply null() to it.

Sign in to comment.

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)
v1 = 2×1
-0.7071 0.7071
v2 = v2 ./ norm(v2, 2)
v2 = 2×1
0.7071 0.7071

3 Comments

You're still using eig builtin function.
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)
v1 = 2×1
-0.7071 0.7071
v2 = v2 ./ norm(v2, 2)
v2 = 2×1
0.7071 0.7071
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)
V = 2×2
-0.7071 0.7071 0.7071 0.7071
D = 2×2
1 0 0 3
That looks good to me.
The question is about calculation of eigenvectors knowing the eigenvalues

Sign in to comment.

Categories

Find more on Linear Algebra in Help Center and File Exchange

Asked:

on 6 Feb 2019

Commented:

on 9 Nov 2023

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!