Eigenvectors and the null function

9 ビュー (過去 30 日間)
Duc Anh Le
Duc Anh Le 2020 年 4 月 7 日
回答済み: Christine Tobler 2020 年 4 月 7 日
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?

回答 (1 件)

Christine Tobler
Christine Tobler 2020 年 4 月 7 日
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.

カテゴリ

Help Center および File ExchangeLinear Algebra についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by