Help Error using eig Input to EIG must not contain NaN or Inf

Error using eig
Input to EIG must not contain NaN or Inf.
Error in composite_twoshaft_spurgear (line 450)
w=sort(abs(imag(eig(EF))));
E=[o,-(MM1+MM2+MMd);(MM1+MM2+MMd),(CC1+CC2+CCB1+CCB2)+(Oma1*(GG1+GGd1)+Oma2*(GG2+GGd2))];
F=[(MM1+MM2+MMd),o;o,(KK1+KK2+KKB1+KKB2)];
EF=-inv(E)*F;
w=sort(abs(imag(eig(EF))));
ww(:,n)=w;
[C,D]=eig(EF);

7 个评论

To calculate eigenvalues of a given matrix, there must be no Nans or inf. Your matrix EF have Nan's . Check it.
Use
EF =-E\F
However your matrix might simply not be invertible
If your values have multiple inf, or if one contains inf and the other contst least one 0, or if your values for E are all 0, then you will get nan results. If your E is not invertible otherwise then I do not recall if you get inf or nan as the result.
Note to respond, click on "Comment on this" not on Flag. Flag is for pointing out a problem to the moderators such as if you notice a spam message.
I check my EF are 408x408 matrix but all of elemenets are Nan. I don't know how to slove? I have 6dof problem.
So problem is with MM1 etc values. You have to show us the complete code to solve the problem.
Please show the output of
rcond(E)
rank(E)
rank(F)
nnz(~isfinite(E))
nnz(~isfinite(F))

请先登录,再进行评论。

回答(1 个)

I already solve this problem. but ans are wrong.

2 个评论

How do you know they are wrong?
What is your current code? What are
rcond(E)
rank(E)
rank(F)
nnz(~isfinite(E))
nnz(~isfinite(F))
i have same problem . can you help me
1) An error occurred while running the simulation and the simulation was terminated
Caused by: Input to EIG must not contain NaN or Inf.
2) Cannot create variable 'if' in workspace Caused by:
ASSIGNIN cannot assign to variables with the same name as a MATLAB keyword

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Linear Algebra 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by