clear
clc
global eps gam F1 zeta ome
%参数定义
eps=0.2;%小参数
gam=4;%非线性参数
F1=0.5;%激振力幅值
zeta=0.25;%阻尼项
np=400;%计算频率数目
omega_1=linspace(0.5,1.5,np);%正向扫频
omega_2=linspace(1.5,0.5,np);%反向扫频
%% 正向扫频
yy=[];
Y0=[0.1 0.1];
for i=1:1:length(omega_1)
ome=omega_1(i);
[T,Y]=ode45(@(t,y)duffing(t,y),[0,400],Y0);
% [T,Y]=ode45(@duffing1,[0,400],Y0);
nn=length(Y(:,1));
ymax=max(Y(nn-round(nn/2):nn,1));
ymax1=max(Y(nn-round(nn/2):nn,2));
Y0=[ymax ymax1];
yy=[yy,ymax];
end
plot(omega_1,yy,'k','LineWidth',1.5)
hold on
%% 反向扫频
yy1=[];
ymax1=max(Y(nn-round(nn/2):nn,1));%反向扫频的初值
ymax2=max(Y(nn-round(nn/2):nn,2));%反向扫频的初值
Y0=[ymax1 ymax2];
for j=1:1:length(omega_2)
ome=omega_2(j);
[T,Y1]=ode45(@(t,y)duffing(t,y),[0,400],Y0);
nn1=length(Y1(:,1));
ymax1=max(Y1(nn1-round(nn1/2):nn1,1));
ymax2=max(Y1(nn1-round(nn1/2):nn1,2));
Y0=[ymax1 ymax2];
yy1=[yy1;ymax1];
end
plot(omega_2,yy1,'color','.5 .5 .5','LineWidth',1.5)
评论0