马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
控制参数c在区间[2.5,8]之间,程序可以很好的运行。但是超过8,例如当区间取到[2.5,9],程序就会出错。错误如下:
Error using vertcat
CAT arguments dimensions are not consistent.
Error in rossler_bif (line 29)
rosler=[rosler;fradata1];
程序如下:
%%rossler方程%
function u =rosser(t,x)
global c
a=0.2; b=0.2;
u =[-x(2)-x(3), x(1)+a*x(2), b+x(3)*(x(1)-c)]';
%%求分岔图的程序%
clear all
global c
rosler=[];
M=[2.5:0.001:9];
counter=1;
for counter=1:length(M)
c=M(counter);
i=2;
xmax=0;
xmaxold=0;
frmdata=[];
error=0;
tspan=[0 300];
var=1;
y0=[0.5;0.3;0.2];
[t,x]=ode45(@rosser,tspan,y0);
while i < size(x,1)
if x(i-1,var) < x(i,var) & x(i+1,var) <= x(i,var)
xmax=x(i,var);
if xmaxold ~= 0
frmdata=[frmdata ; xmax xmaxold];
end
xmaxold=xmax;
end
i=i+1;
end
r= length(frmdata)-20:length(frmdata);
fradata1(1,r)=frmdata(r,1);
rosler=[rosler;fradata1];
end
plot(M,rosler,'b.','markersize',1);
xlabel(sprintf('c'));
ylabel(sprintf('x'))
麻烦大家帮我看一下,谢谢大家!
|