eigen value what i am getting from matlab software that is not exact when i am compairing with hand calculated value and the mode shape i am getting is reverse

5 views (last 30 days)
Susanta  Barik
Susanta Barik on 21 Apr 2022
Edited: Walter Roberson on 22 Apr 2022
format long g
m1=50000;
m2=50000;
m3=50000;
mass=diag([m1 m2 m3]);
fprintf('The mass matrix \n');
The mass matrix
disp(mass)
50000 0 0 0 50000 0 0 0 50000
k1=50*10^6;
k2=50*10^6;
k3=50*10^6;
stiffness=[k1+k2 -k2 0;-k2 k2+k3 -k3;0 -k3 k3];
fprintf('The stiffness matrix \n');
The stiffness matrix
disp(stiffness)
100000000 -50000000 0 -50000000 100000000 -50000000 0 -50000000 50000000
%Natural frequency(eigen value) and Mode shape(eigen vector) calculation FOR ANALYTICAL VALUE
[v,d]=eig(stiffness,mass);
fprintf('lambda value \n');
lambda value
disp(d);
198.062264195162 0 0 0 1554.95813208737 0 0 0 3246.97960371747
w=[sqrt(d)];
w1=w(1,1);
w2=w(2,2);
w3=w(3,3);
w=[w1,w2,w3];
fprintf('The natural frequencies of this structure are as follows(HZ) \n');
The natural frequencies of this structure are as follows(HZ)
disp(w)
14.0734595673971 39.4329574352137 56.9822744695003
fprintf('The mode shape of the structure \n');
The mode shape of the structure
disp(v)
-0.00146679475269089 0.00329585789213623 -0.00264307281555424 -0.00264307281555424 0.00146679475269089 0.00329585789213623 -0.00329585789213623 -0.00264307281555424 -0.00146679475269089
%Normalization of mode shape vectors
% for i=1:3
% v(:,i)=v(:,i)/v(3,i);
% end
% Individusal mode shapes vector
fprintf('individusal mode shapes \n');
individusal mode shapes
v1=v(:,3)
v1 = 3×1
-0.00264307281555424 0.00329585789213623 -0.00146679475269089
v2=v(:,2)
v2 = 3×1
0.00329585789213623 0.00146679475269089 -0.00264307281555424
v3=v(:,1)
v3 = 3×1
-0.00146679475269089 -0.00264307281555424 -0.00329585789213623

Answers (1)

Christine Tobler
Christine Tobler on 22 Apr 2022
The results look correct to me, can you say what you are expecting instead? Two points that are maybe relevant:
  • MATLAB does numerical computation, so a round-off error compared to analytical computation is expected.
  • The result of EIG doesn't give the eigenvalues in any particular order, so you may need to call sort on the eigenvalues and then reorder the eigenvectors accordingly.

Community Treasure Hunt

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

Start Hunting!

Translated by