Eigenvalue problem, singular matrix
6 views (last 30 days)
Show older comments
Hello everyone! I have a mass matrix M and a stiffness matrix K generated by FEM (ANSYS) imported to Matlab and I want to calculate the eigenfrequencies and natural modes of the corresponding structure. The matrices are sparse. I tried the command:
[U,V] = eigs(K,M)
but it only gives:
Error using eigs/checkInputs/LUfactorB (line 1001) B is singular. Unable to compute the specified eigenvalues because infinite eigenvalue(s) exist
When I specify, that I only want the 50 lowest frequencies:
[U,V] = eigs(K,M,50,'sm')
it works, although they seem suspiciously high. The problem is that it wasn't me who generated the FEM model and also that I have almost no experience in the field. But I thought that if the FEM model has n rigid body motion degrees of freedom, then the structure will have n zero natural frequencies. Here Matlab complains about the opposite, namely infinite frequencies. Please do you somebody see what is happening? Thank you! Jan
0 Comments
Accepted Answer
Matt J
on 31 Mar 2013
Because your M matrix is singular, there are infinite eigenvalues. Imagine for example if M=zeros(n). Then any vector in null(K) is an eigenvector and any scalar is a corresponding eigenvalue. The bottom line is that you have bad 'M' data.
More Answers (0)
See Also
Categories
Find more on Linear Algebra in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!