|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
function [v,w,zeta]=vbr_sf(m,d,k)
%vbr_sf vbr_sf(m,d,k)
% [v,w,zeta]=vbr4(m,d,k)
% function vbr_sf finds the mode shapes and natural frequencies of
% a linear second order matrix equation.
% [v,w]=vbr_sf(m,k) finds the mode shapes and natural frequencies
% for the undamped case.
if nargin==2
k=d;
[v,w]=eig(m\k);
w=sqrt(w);
end
if nargin==3
if norm(d/m*k-k/m*d) < 1e-8*norm(k/m*d)
%disp('Damping is proportional, eigenvectors are real.')
[v,w]=eig(m\k);
w=sqrt(w);
zeta=(v'*m*v)\(v'*d*v)/2/w;
else
%disp('Damping is non-proportional, eigenvectors are complex.')
a=[0*k eye(length(k));-m\k -m\d];
[v,w1]=eig(a);
w=abs(w1);
zeta=-real(w1)/w;
end
end
w=diag(w);zeta=diag(zeta);
for i=1:4
subplot(4,1,i)
plot(zeta)
grid on
end
这是原M文件,运行:
m= [25 25 0 0; 25 125 0 0; 0 0 30 0;0 0 0 30];
k= [400000 0 -400000 0; 0 400000 0 -400000;-400000 0 500000 0;0 -400000 0 500000];
d=[3200 0 -3200 0;0 3200 0 -3200;-3200 0 4000 0;0 -3200 0 4000];
vbr_sf(m,d,k);
可以得出ans =
0.7965 0.0427 -0.7211 0.1771
-0.1880 0.1811 0.1702 0.7503
-0.5593 -0.2257 -0.6537 0.1463
0.1320 -0.9563 0.1543 0.6199,
求大神指点一下画图,我画出来的图总是不理想,求指点错误所在。
|
|