不同阻力矩下受迫振动的幅频特性与相频特性matlab程序
%受迫振动的稳态位移振幅,初相和速度振幅曲线
clear,b=1:-0.2:0;n=length(b);%清除变量,约化阻尼因子向量,向量的个数
wm=2.5;w=0:0.05:wm;w(w==1)=1+eps;%最大约化驱动角频率,约化驱动角频率,为1者取大一点
[B,W]=meshgrid(b,w);%阻尼因子和驱动角频率矩阵
TH2=1./sqrt((1-W.^2).^2+(2*B.*W).^2);figure%约化位移振幅,创建图形窗口
plot(w,TH2(:,1),'o-',w,TH2(:,2),'d-',w,TH2(:,3),'s-',w,TH2(:,4),'p-',...
w,TH2(:,5),'h-',w,TH2(:,6),'<-') %画振幅曲线族
h=legend([repmat('\it\beta/\omega\rm_0=',n,1),num2str(b')]);%加图例
fs=14;set(h,'FontSize',fs),grid on%字体大小,放大图例,加网格
[m,i]=max(TH2);hold on,stem(w(i),m,'--')%求峰值和下标,保持图像,画杆图
bm=linspace(0.05,sqrt(2)/2);%峰值曲线的约化阻尼因子
omegam=sqrt(1-2*bm.^2);%峰值曲线的驱动力约化角频率
thm=1./(2*bm.*sqrt(1-bm.^2));%峰值曲线的振幅
plot(omegam,thm,'r--','LineWidth',2)%画峰值曲线
xlabel('\it\Omega/\omega\rm_0','FontSize',fs)%标记横坐标
ylabel('\it\Theta\rm_2/\it\theta\rm_0','FontSize',fs),axis([0,wm,0,6])%标记纵坐标,曲线范围
title('受迫振动的幅频响应曲线','FontSize',fs)%标题
PHI2=atan2(-2*B.*W,1-W.^2)*180/pi;figure%初相,创建图形窗口
plot(w,PHI2(:,1),'o-',w,PHI2(:,2),'d-',w,PHI2(:,3),'s-',w,PHI2(:,4),'p-',...
w,PHI2(:,5),'h-',w,PHI2(:,6),'<-') %画振幅曲线族
h=legend([repmat('\it\beta/\omega\rm_0=',n,1),num2str(b')]);%加图例
set(h,'FontSize',fs),grid on%放大图例,加网格
thm=sqrt(1-2*bm.^2);thm(imag(thm)~=0)=NaN;%计算分子,复数改为非数
phim=-atan(thm./bm)*180/pi;%位移共振初相
hold on,plot(omegam,phim,'r--','LineWidth',2)%保持图像,画峰值曲线
xlabel('\it\Omega/\omega\rm_0','FontSize',fs)%标记横坐标
ylabel('\it\Phi\rm_2/\circ','FontSize',fs)%标记纵坐标
title('受迫振动的相频响应曲线','FontSize',fs)%标题
V=W./sqrt((1-W.^2).^2+(2*B.*W).^2);figure%约化速度振幅,创建图形窗口
plot(w,V(:,1),'o-',w,V(:,2),'d-',w,V(:,3),'s-',w,V(:,4),'p-',...
w,V(:,5),'h-',w,V(:,6),'<-') %画振幅曲线族
h=legend([repmat('\it\beta/\omega\rm_0=',n,1),num2str(b')]);%加图例
set(h,'FontSize',fs),grid on%放大图例,加网格
hold on,plot([1;1],[0;6],'r--','LineWidth',2)%保持图像,画竖线
xlabel('\it\Omega/\omega\rm_0','FontSize',fs)%标记横坐标
ylabel('\it\omega\rm_m/\it\omega\rm_0\it\theta\rm_0','FontSize',fs)%标记纵坐标
title('受迫振动的稳态角速度振幅曲线','FontSize',fs)%标题
axis([0,wm,0,6])%曲线范围