Eigenvectors and the null function

16 views (last 30 days)
Duc Anh Le
Duc Anh Le on 7 Apr 2020
Answered: Christine Tobler on 7 Apr 2020
I have a matrix D and I want to find eigenvectors using the null-function and known eigenvalues:
D = [2 -1;
-1 3];
eigs = eig(D);
q1 = null(D-eigs(1)*eye(2)) %first eigenvector
q2 = null(D-eigs(2)*eye(2)) %second eigenvector
The answer I get is 2×0 empty double matrix, however the eigenvectors should be
[q,l] = eig(D_tilde)
>> q =
-0.8507 -0.5257
-0.5257 0.8507
How do I get those values of eigenvectors?

Answers (1)

Christine Tobler
Christine Tobler on 7 Apr 2020
I'm getting those two eigenvectors when I copy your code into MATLAB:
>> D = [2 -1;
-1 3];
eigs = eig(D);
q1 = null(D-eigs(1)*eye(2)) %first eigenvector
q2 = null(D-eigs(2)*eye(2))
q1 =
0.8507
0.5257
q2 =
0.5257
-0.8507
But round-off errors can change between different versions and machines. Try passing a different tolerance as the second input to null, that should allow it to find an output x = null(M) even if M*x is larger than the default tolerance.

Categories

Find more on Linear Algebra in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!