Path: news.mathworks.com!not-for-mail
From: <HIDDEN>
Newsgroups: comp.soft-sys.matlab
Subject: Re: EIG function and unexpected complex modes
Date: Tue, 14 Jun 2011 17:59:05 +0000 (UTC)
Organization: The MathWorks, Inc.
Lines: 26
Message-ID: <it87h9$9k8$1@newscl01ah.mathworks.com>
References: <it85cc$1to$1@newscl01ah.mathworks.com>
Reply-To: <HIDDEN>
NNTP-Posting-Host: www-02-blr.mathworks.com
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: newscl01ah.mathworks.com 1308074345 9864 172.30.248.47 (14 Jun 2011 17:59:05 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Tue, 14 Jun 2011 17:59:05 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 1187260
Xref: news.mathworks.com comp.soft-sys.matlab:731910

"Alessandro " <aledipo10@gmail.com> wrote in message <it85cc$1to$1@newscl01ah.mathworks.com>...
> Hello,
> 
> I'm using the EIG function to find vibrational modes of a free structure. Mass and stiffness matrices come from a FE model of the structure written in Matlab as well.
> 
> >> [V D] = eig(M\K);
> 
> What happens then is that some eigenvalues stored in D are like this
> 
> real_part + 0.000000000000000i
> 
> where the real parts are exactly those I expect (by means of a comparison with outputs from another FEM). 
> 
> The problem is that the correspondent eigenvectors (modes) are complex with real and imaginary parts of the same order of magnitude. 
> Complex eigenvectors are quite unexpected since the structure is undamped and M, K are simmetric.
> 
> I was wondering if the modes could be miscalculated due to the strange format in which the eigenvalues are handled.
> 
> Thank
- - - - - - - - -
  Any eigenvector can always be multiplied by an arbitrary scalar and it remains an eigenvector.  The matlab 'eig' function as a rule normalizes each eigenvector but that does not give a unique result.  In the real field it could be either of two opposite directions.  In the complex field it remains arbitrary up to a multiple of a complex root of unity.

  You might check to see if your complex-valued eigenvectors that correspond to almost real eigenvalues can be multiplied by a complex root of unity such as to have almost real-valued components.

Roger Stafford