动态分岔

网上对于分岔的定义、说明已经很多了,这里展示一个程序

分岔中的取点有两种:1.poincare点  2.最大值

这里我们取poincaer点,对于取最大值的方法我也试过,但是在我的课题中得不出我想要的结果

比方说是A为分岔参数,

%之前poincare取点是取速度和位移两个值,当时是为了与相图对应,动态分叉中我们取一个点(位移),
%核心: 横轴是分岔参数,纵轴是poincare点,某个分岔参数对应几个点就代表几周期分岔
for A=0.5:0.1:20    
[t,y] = ode45(@zzx1_Runge_Kutta_t_func,[0:(1/f0)/m:N*(1/f0)],[y1 y2 y3]);
      for n=N_start:N-1 
            Tn((n-N_start+1))= y(n*m+0.5*m,1);
      end
      for i=1:length(Tn)
            Tnn(i+sum,1)=A;
            Tnn(i+sum,2)=Tn(i);
      end
    sum=sum+length(Tn);
    disp(A)
    y1=y(end,1);y2=y(end,2);y3=y(end,3);
    
end
plot(Tnn(:,1),Tnn(:,2)*phi12L2,'.','linewidth',5);
set(gca,'FontSize',20);
xlabel('\itA','Fontsize',20,'Fontname','Times new roman');%x轴标注
ylabel('\itx','Fontsize',20,'Fontname','Times new roman','Rotation',0);%y轴标注

某参数下的动态分岔图以及相图、poincare截点:

动态分岔_第1张图片

 

你可能感兴趣的:(压电振动)