|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
源程序如下:
% Poincare_section[绘制庞加莱截面图]
betaa=0.25;
F=1.093;
v=2/3;
Poin=inline(['[x(2);',...
'-2*betaa*x(2)-x(2).^2.*sin(x(1))+F*cos(v*t);',...
'v]'],...
't','x','flag','betaa','F','v');
% Poincare_section[绘制庞加莱截面图]
[t,x]=ode45(Poin,[0,2800],[0,1.5,0],[],betaa,F,v);
x(:,2)=mod(x(:,2),2*pi)-pi;
phi0=pi*2/3; % 选择phi=2*pi/3这个截面
for k=1:round(max(x(:,3))/2/pi);
d=x(:,3)-(k-1)*2*pi-phi0;
[P,K]=sort(abs(d));
x1l=x(K(1),1);
x1r=x(K(2),1);
x2l=x(K(1),2);
x2r=x(K(2),2);
x3l=x(K(1),3);
x3r=x(K(2),3);
if abs(P(1))+abs(P(2))<3e-16;
X1(k)=x1l;
X2(k)=x2l;
else
Q=polyfit([x3l,x3r],[x1l,x1r],1);
X1(k)=polyval(Q,(k-1)*2*pi-phi0);
Q=polyfit([x3l,x3r],[x2l,x2r],1);
X2(k)=polyval(Q,(k-1)*2*pi-phi0);
end
end
plot(X1,X2,'.');
xlabel('\theta','fontsize',14);
ylabel('d\theta/dt','fontsize',14);
问题:上面的程序中运用的方程是% 单摆方程[不显含时间t的自治系统]
% 方程如下:
% dθ/dt=ω,
% dω/dt=-2*β*[dθ/dt]-ω^2*sin(θ)+F*cos(vt)
% dψ/dt=v
betaa=0.25;
F=1.093;
v=2/3;
P2=-2*betaa*x(2)-x(2).^2.*sin(x(1))+F*cos(v*t);
dx=[x(2)2;v];
现在我想把这单摆脱方程换成达芬方程如下所示
function df=dafen(t,x,flag,force)
df=[x(2);force*cos(1.2*t)-x(1)^3+x(1)-0.3*x(2)];
即 ¨x+μ.x-x+3x= Fcosωt(前面两个分别是x的二次求导和一次求导)
帮我换进去可以吗?程序都是现成的
请哪位高手帮我换一下, 急用,不胜感激 |
|