state-space eigenvector matrix normalization
显示 更早的评论
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
回答(1 个)
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 个评论
Jeff
2017-6-16
is the CONDITION number the ratio of the complex magnitude of the largest element divided by the smallest element?
No, the condition number (with respect to the Euclidean norm) is the ratio of the largest to smallest singular value of a matrix.
how much greater than UNITY do I need to be concerned that the eigenvector matrix IS or IS NOT linearly independent?
That will depend on just how linearly independent you need the matrix to be. Are you using the matrix to solve an equation? If so, how much error in the solution can you tolerate?
Jeff
2017-6-16
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).
类别
在 帮助中心 和 File Exchange 中查找有关 Linear Algebra 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!