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 Comments

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))

Sign in to comment.

Answers (1)

I already solve this problem. but ans are wrong.

2 Comments

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

Sign in to comment.

Categories

Find more on Linear Algebra in Help Center and File Exchange

Tags

Asked:

on 9 Jul 2017

Commented:

on 18 Oct 2023

Community Treasure Hunt

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

Start Hunting!