Get non-zero eigenvalues and eigenvectors
14 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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?
Respuestas (1)
Christine Tobler
el 26 de Nov. de 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.
0 comentarios
Ver también
Categorías
Más información sobre Linear Algebra en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!