bifl_rosser.m

来自「rossler分岔代码」· M 代码 · 共 33 行

M
33
字号
clear;
global c;
range=[2.5:0.01:6.5];
k=0;
YY=[];
for c=range
    c 
    y0=rand(1,3);%rand:产生0~1间均匀分布的随机矩阵
    k=k+1; 
    tspan=[0:0.1:200];
    [t,Y]=ode45('rosser',tspan,y0);
    count=find(t>100);%找到t>0时刻的所有下标
    Y=Y(count,:); 
    % 画x的分岔图。
    j=1;
    n=length(Y(:,1));
    for i=2:n-1
%         if Y(i-1,1)+eps<Y(i,1) && Y(i,1)>Y(i+1,1)+eps  % 简单的取出局部最大值。
             if Y(i-1,1)<Y(i,1)&Y(i,1)>Y(i+1,1)
            YY(k,j)=Y(i,1);
            j=j+1;
        end
    end
    if j>1
        plot(c,YY(k,[1:j-1]),'k.','markersize',1);
    end
    hold on;
    index(k)=j-1;%index是什么功能?
end
xlabel('c');

ylabel('x max');
%title('rossler bifurcation diagram');

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?