马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
function dx=bianxing(t,x)
global alfa;
dx=zeros(3,1);
dx(1)=alfa*(x(1)/3-x(1)*abs(x(1))/3+x(2));
dx(2)=x(1)-x(2)+x(3);
dx(3)=-16*x(2);
clear;
global alfa
%取参数alfa变化范围及增长幅度
range=[6.5:0.01:10.5];
period=2*pi;
k=0;
YY1=[];
step=2*pi/100;
for alfa=range
y0=[0 0.01 0];
alfa
k=k+1;
%除去前面60个周期的数据,并将最后的结果作为下一次积分的初值。
tspan=[0:step:60*period];
[t,Y]=ode45('bianxing',tspan ,y0);
y0=Y(end,:);
j=1;
for i=60:200
tspan=[i*period:step:(i+1)*period];
[t,Y]=ode45('bianxing',tspan ,y0);
YY1(k,j)=Y(end,1);
j=j+1;
%取出每一个周期内的第一个解的最后一个值。
y0=Y(end,:);
end
end
plot(range,YY1,'k','markersize',1);
xlabel('alfa');
ylabel('Y');
title('变形蔡氏电路分岔图'); |