Get non-zero eigenvalues and eigenvectors
Afficher commentaires plus anciens
I am simply looking to retrieve non-zero eigenvalues (and eigenvectors which correspond to them) from a matrix X. I am new to matlab and the eig() and eigs() functions don't seem to do what I want. How do I solve this?
2 commentaires
madhan ravi
le 25 Nov 2018
upload your matrix and what's the desired result?
Fraser Price
le 25 Nov 2018
Modifié(e) : Fraser Price
le 25 Nov 2018
Réponses (1)
Christine Tobler
le 26 Nov 2018
You could just remove the zero eigenvalues after computing them:
>> X = [1 1; 1 1]
X =
1 1
1 1
>> [V,l] = eig(X, 'vector')
V =
-0.7071 0.7071
0.7071 0.7071
l =
0
2
>> l == 0
ans =
2×1 logical array
1
0
>> V(:, l==0) = []
V =
0.7071
0.7071
>> l(l==0) = [];
l =
2
In practice, l==0 should probably be replaced by abs(l) < tol.
Catégories
En savoir plus sur Linear Algebra dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!