⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 v2_094.m

📁 美国辛辛那提大学的振动教材
💻 M
字号:
% v2_095.m   
%
% This is a script file to solve a 3 DOF system
% given the mass, damping and stiffness matrices
% in dimensionless units and plot any desired 
% frequency response function.
%
% Requires MATLAB 5
             
%**********************************************************************
% Author: Randall J. Allemang
% Date:	18-Apr-94
% Structural Dynamics Research Lab
% University of Cincinnati
% Cincinnati, Ohio  45221-0072
% TEL:  513-556-2725
% FAX:  513-556-3390
% E-MAIL: randy.allemang@uc.edu
%*********************************************************************
%
clear,clf
pi=3.14159265;
Ndof=3;
Ns=500;
Ni=Ndof;
No=Ndof;
mass=[10,0,0;0,14,0;0,0,12];
stiff=[5000,-3000,0;-3000,5500,-2500;0,-2500,4000];    
damp=[50,-30,0;-30,55,-25;0,-25,40];    
null=[0,0,0;0,0,0;0,0,0];
%    Form 2N x 2N state space equation.  
a=[null,mass;mass,damp];
b=[-mass,null;null,stiff];
[x,d]=eig(b,-a);
% Sort Modal Frequencies  
orig_lambda=diag(d);
[Y,I]=sort(imag(orig_lambda));
lambda=orig_lambda(I);
xx=x(:,I);
%     Normalize x matrix to real vectors if possible
for ii=1:2*Ndof
xx(1:2*Ndof,ii)=xx(1:2*Ndof,ii)./xx(Ndof+1,ii);
end
%     Compute 'modal a' and 'modal b' matrix
ma=xx.'*a*xx;
mb=xx.'*b*xx;
%     Extract modal vectors from state-space formulation
psi(1:3,1)=xx(4:6,1);
psi(1:3,2)=xx(4:6,2);
psi(1:3,3)=xx(4:6,3);
psi(1:3,4)=xx(4:6,4);
psi(1:3,5)=xx(4:6,5);
psi(1:3,6)=xx(4:6,6);
lambda
xxx=input('Hit any key to continue');

om=linspace(0,1.5*imag(lambda(2*Ndof)),Ns);
for ii=1:Ns;
   H(:,:,ii)=inv(-om(ii).*om(ii).*mass + j.*om(ii).*damp + stiff);
end;   
for inp=1:Ndof
   for resp=1:Ndof
      subplot(211),semilogy(om,abs(H(resp,inp,:)))
      ylabel('Magnitude'),grid
      subplot(212),plot(om,angle(H(resp,inp,:)))
      xlabel('Frequency (Rad/Sec)'),ylabel('Phase'),grid
      title(['FRF   Input: ',num2str(inp),'   Response: ',num2str(resp)])
      pause
   end
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -