肉肉哥 发表于 2017-5-22 21:05

分岔图出现跃迁问题,如何修改

按照下面的程序做出来的分岔图出现了跳跃,不知是何原因,如何修改程序能使最后变成就是一条直线。

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);


肉肉哥 发表于 2017-5-23 09:03

{:{39}:}

Catsayer 发表于 2017-5-23 13:48

检查一下数据

肉肉哥 发表于 2017-5-23 16:31

Catsayer 发表于 2017-5-23 13:48
检查一下数据

检查了duffing方程和参数都是没问题的啊

肉肉哥 发表于 2017-5-25 09:36

{:{27}:}
页: [1]
查看完整版本: 分岔图出现跃迁问题,如何修改