# 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

1 view (last 30 days)
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

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.