分岔图出现跃迁问题,如何修改
按照下面的程序做出来的分岔图出现了跳跃,不知是何原因,如何修改程序能使最后变成就是一条直线。function dy=myDuffing(t,y)
global F omiga;
kp2= 0.0411;
s=1.1350;
u= 0.04;
cta= 1.0951;
dy=zeros(3,1);
dy(1)=y(2);
dy(2)=-u*y(2)-(1-s)*y(1)-y(1)^3+y(3)-F*cos(omiga*t);
dy(3)=-kp2*y(2)-cta*y(3);
%%%%%%%分岔图绘制程序:
clear;
box on;
xlim();
ylim([-2,2]);
s=1.1350;
global F omiga;
omiga=0.8;
range=;
period=2*pi/omiga;
k=0;
YY1=[];
step=2*pi/100;%步长。
options=odeset('RelTol',1e-5,'AbsTol',1e-6);
for F=range
y0=;
k=k+1;
% discard the first 60 periodic data;
%除去前面60个周期的数据,并将最后的结果作为下一次积分的初值
tspan=;
=ode45(@myDuffing,tspan,y0,options);
y0=Y(end,:);
j=1;
for i=60:200
tspan=;
=ode45(@myDuffing,tspan,y0,options);
YY1(k,j)=Y(end,1); % get the omega data from every period end
j=j+1; %取出每一个周期内的第一个解的最后一个值。
y0=Y(end,:);
end
end
bifdata=YY1(:,end-51:end);
plot(range,bifdata,'k*','markersize',2);
{:{39}:} 检查一下数据 Catsayer 发表于 2017-5-23 13:48
检查一下数据
检查了duffing方程和参数都是没问题的啊 {:{27}:}
页:
[1]