Eigenvalue problem, singular matrix

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

 채택된 답변

Matt J
Matt J 2013년 3월 31일

1 개 추천

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.

댓글 수: 1

Jan
Jan 2013년 5월 30일
Not that it would take me two months to figure out, but yes, the data was indeed faulty. I just forgot to accept your answer. Thank you!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Linear Algebra에 대해 자세히 알아보기

질문:

Jan
2013년 3월 30일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by