Clear Filters
Clear Filters

Issues with the normalisation of mode shapes?

33 views (last 30 days)
I exported mass and stiffness matrices from ABAQUS so I can perform a reduction of the degrees of freedom for later work.
The full matrices exported from ABAQUS have 123 degrees of freedom. I used the eig function (eig(K, M)) on the full mass and stiffness matrices and got the correct eigenvalues and eigenvectors out. The eigenvectors for the full mass and stiffness matrices were mass normalised, which is what I expected.
The reduced matrices had 40 degrees of freedom. I used the eig function on these reduced mass and stiffness. I got almost exact eigenvalues when compared to the full model, however, the eigenvectors were normalised by the max displacement of the mode and not mass normalised as i would've expected.
The only thing that changed between the full and reduced matrices is the reduction itself, the eig function was called the same.
Does anyone know why eig has normalised differently?

Accepted Answer

Christine Tobler
Christine Tobler on 9 Feb 2023
Edited: Christine Tobler on 9 Feb 2023
eig(A, B) normalizes the eigenvectors in the B-mass norm, but only if it recognizes the input as a symmetric problem (A is symmetric and B is symmetric positive definite).
Possibly the difference between your calls is that A or B isn't exactly symmetric for the reduced matrix pair. Can you try to call eig((A+A')/2, (B+B')/2) instead?
  1 Comment
Kyle Dubber
Kyle Dubber on 9 Feb 2023
Hi Christine,
Thank you very much!
This has solved my issue and my mode shapes of the reduced matrices are mass normalised.

Sign in to comment.

More Answers (0)


Find more on Acoustics, Noise and Vibration 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!