|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
这个方程我用,频闪和最大值效果都不好,指导一下
function dx=jiaqi(t,X)
global beta gama xi f omega;
x=X(1);
y=X(2);
psi=X(3);
dx=zeros(3,1);
dx(1)=y;
dx(2)=(-gama*y-x-beta*x^3+f*sin(psi))/(1+xi*sin(psi)^2);
dx(3)=omega;
clear;
clc
global beta gama xi f omega;
beta=0.503;
xi=0.03;
f=6.027;
gama=0.591;
range=0.01:0.01:1.5;
k=0;
YY2=[];
for omega=range
disp(omega)
period=2*pi/omega;
step=2*pi/omega/10; %步长
y0=[0 0 0];
k=k+1;
% discard the first 120 periodic data;
%除去前面120个周期的数据,并将最后的结果作为下一次积分的初值
tspan=[0:step:120*period];
[t,Y]=ode23s(@jiaqi,tspan,y0);
y0=Y(end,:);
j=1;
for i=120:200
tspan=[i*period:step:(i+1)*period];
[t,Y]=ode45(@jiaqi,tspan,y0);
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-20:end);
plot(range,bifdata,'k.','markersize',1);
周期几显现不出来。
|
|