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

📄 v2_101.m

📁 美国辛辛那提大学的振动教材
💻 M
字号:
% v2_101.m   
%
% This is a script file to plot a FRF given a set of 
% Modal frequencies and residues.
             
%**********************************************************************
% 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
close all
pi=3.14159265;
plt=input('Store plots to file (Yes=1): (0)');if isempty(plt),plt=0;end;
%
lambda(1) = -4 + j*100;
lambda(2) = -10 + j*800;
lambda(3) = -15 + j*1000;
lambda(4) = -20 + j*1400;
lambda(5) = -30 + j*1500;
lambda(6) = -40 + j*2600;
%
residu(1) = - j*0.04;
residu(2) = - j*0.05;
residu(3) = - j*0.03;
residu(4) = - j*0.05;
residu(5) = - j*0.02;
residu(6) = - j*0.06;
lambda,residu
%      Calculate desired plots
om=linspace(0,3000,1001);
freq=om./(2*pi);
H1=residu(1)./(j.*om-lambda(1));
H2=residu(2)./(j.*om-lambda(2));
H3=residu(3)./(j.*om-lambda(3));
H4=residu(4)./(j.*om-lambda(4));
H5=residu(5)./(j.*om-lambda(5));
H6=residu(6)./(j.*om-lambda(6));
H7=conj(residu(1))./(j.*om-conj(lambda(1)));
H8=conj(residu(2))./(j.*om-conj(lambda(2)));
H9=conj(residu(3))./(j.*om-conj(lambda(3)));
H10=conj(residu(4))./(j.*om-conj(lambda(4)));
H11=conj(residu(5))./(j.*om-conj(lambda(5)));
H12=conj(residu(6))./(j.*om-conj(lambda(6)));
H=H1+H2+H3+H4+H5+H6+H7+H8+H9+H10+H11+H12;
xxx=input('Hit any key to continue');
figure
%    plot FRF showing superposition effects of all modes
plot(freq,20.*log10(abs(H)))
hold on
plot(freq,20.*log10(abs(H1)),'--')
plot(freq,20.*log10(abs(H2)),'--')
plot(freq,20.*log10(abs(H3)),'--')
plot(freq,20.*log10(abs(H4)),'--')
plot(freq,20.*log10(abs(H5)),'--')
plot(freq,20.*log10(abs(H6)),'--')
xlabel('Frequency (Hertz)'),ylabel('Log Magnitude (dB)'),grid
hold off
if plt==1,print -f1 -deps v2_101a,end;
figure
plot(freq,180.0./pi.*angle(H))
hold on
plot(freq,180./pi.*angle(H1),'--')
plot(freq,180./pi.*angle(H2),'--')
plot(freq,180./pi.*angle(H3),'--')
plot(freq,180./pi.*angle(H4),'--')
plot(freq,180./pi.*angle(H5),'--')
plot(freq,180./pi.*angle(H6),'--')
xlabel('Frequency (Hertz)'),ylabel('Phase (Deg)'),grid
hold off
if plt==1,print -f2 -deps v2_101b,end;
figure
%    plot FRF showing superposition effects of all modes
plot(80,-40,freq(180:680),20.*log10(abs(H(180:680))))
hold on
plot(freq(180:680),20.*log10(abs(H2(180:680))),'--')
plot(freq(180:680),20.*log10(abs(H3(180:680))),'--')
plot(freq(180:680),20.*log10(abs(H4(180:680))),'--')
plot(freq(180:680),20.*log10(abs(H5(180:680))),'--')
xlabel('Frequency (Hertz)'),ylabel('Log Magnitude (dB)'),grid
hold off
if plt==1,print -f3 -deps v2_101c,end;
figure
plot(freq(180:680),180.0./pi.*angle(H(180:680)))
hold on
plot(freq(180:680),180./pi.*angle(H2(180:680)),'--')
plot(freq(180:680),180./pi.*angle(H3(180:680)),'--')
plot(freq(180:680),180./pi.*angle(H4(180:680)),'--')
plot(freq(180:680),180./pi.*angle(H5(180:680)),'--')
xlabel('Frequency (Hertz)'),ylabel('Phase (Deg)'),grid
hold off
pause
if plt==1,print -f4 -deps v2_101d,end;
figure
%    plot FRF showing residual effects of first and last mode
plot(freq,20.*log10(abs(H)))
hold on
plot(freq,20.*log10(abs(H1)),'--')
plot(freq,20.*log10(abs(H6)),'--')
xlabel('Frequency (Hertz)'),ylabel('Log Magnitude (dB)'),grid
hold off
pause
if plt==1,print -f5 -deps v2_101e,end;
figure
plot(freq,180.0./pi.*angle(H))
hold on
plot(freq,180./pi.*angle(H1),'--')
plot(freq,180./pi.*angle(H6),'--')
xlabel('Frequency (Hertz)'),ylabel('Phase (Deg)'),grid
hold off
pause
if plt==1,print -f6 -deps v2_101f,end;
%      Calculate desired plots
om=linspace(-3000,3000,1001);
freq=om./(2*pi);
H1=residu(1)./(j.*om-lambda(1));
H2=residu(2)./(j.*om-lambda(2));
H3=residu(3)./(j.*om-lambda(3));
H4=residu(4)./(j.*om-lambda(4));
H5=residu(5)./(j.*om-lambda(5));
H6=residu(6)./(j.*om-lambda(6));
H7=conj(residu(1))./(j.*om-conj(lambda(1)));
H8=conj(residu(2))./(j.*om-conj(lambda(2)));
H9=conj(residu(3))./(j.*om-conj(lambda(3)));
H10=conj(residu(4))./(j.*om-conj(lambda(4)));
H11=conj(residu(5))./(j.*om-conj(lambda(5)));
H12=conj(residu(6))./(j.*om-conj(lambda(6)));
H=H1+H2+H3+H4+H5+H6+H7+H8+H9+H10+H11+H12;
xxx=input('Hit any key to continue');
figure
%    plot FRF showing superposition effects of all modes
plot(freq,20.*log10(abs(H)))
hold on
plot(freq,20.*log10(abs(H3)),'--')
plot(freq,20.*log10(abs(H9)),'--')
xlabel('Frequency (Hertz)'),ylabel('Log Magnitude (dB)'),grid
hold off
if plt==1,print -f7 -deps v2_101g,end;
figure
plot(freq,180.0./pi.*angle(H))
hold on
plot(freq,180./pi.*angle(H3),'--')
plot(freq,180./pi.*angle(H9),'--')
xlabel('Frequency (Hertz)'),ylabel('Phase (Deg)'),grid
hold off
if plt==1,print -f8 -deps v2_101h,end;

⌨️ 快捷键说明

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