state-space eigenvector matrix normalization
10 views (last 30 days)
Show older comments
I am in a bit of a quagmire & seeking suggestions?
I have utilized the eig(A) command to find the eigenvalues & eigenvectors of a STATE SPACE matrix. If the determinant of the eigenvector matrix is NONZERO then presumably all of the solutions are considered independent. Unfortunately, a normalized matrix will render all of the elements with a magnitude less that UNITY. Finding the determinant of this matrix will yield a very small number. The quagmire I have what or how do I consider what is truly NONZERO vs identically zero?
I get values on order of 10^-20 which in a practical sense is considered ZERO, but in the situation of normalization I cannot be confident of that interpretation. What is the best strategy of determining significant figures of the determinant such that I can assess whether it is truly NONZERO?
Should I denormalize the matrix & if so how? Is there a command to denormalize a matrix? I have had not success finding a command to date.
Thanx 4 any assistance
0 Comments
Answers (1)
Matt J
on 16 Jun 2017
Edited: Matt J
on 16 Jun 2017
You should never use det() to measure non-singularity of a matrix. You should use cond(), which is inherently normalized. If the condition number is super-huge, you should doubt the non-singularity of the matrix.
4 Comments
Matt J
on 16 Jun 2017
Edited: Matt J
on 16 Jun 2017
No, a linear equation means you are solving something that looks like A*x=b. If b has error/noise e, then the error in the solution x will be magnified by cond(A), as described here.
Ultimately, though the issue is, why do you care if the matrix is non-singular? How does that affect the manipulations you are doing, and can you quantify the impact in terms of the condition number? If you can, then you can decide on a safe threshold for cond(A).
See Also
Categories
Find more on Linear Algebra in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!