单摆方程的Poincare截面Matlab实现

上一篇 / 下一篇  2008-05-24 16:28:05

查看( 104 ) / 评论( 2 )
% Author: Thomas Lee振动资讯:m4BOMTeovP(U
% E-mail: lixf1979@126.com 振动资讯7P A0T\nB+E
% Corresponding: School of Mathematics, Physics and Software Engineering, Lanzhou Jiaotong University, Lanzhou 730070, China
V4V"~,`l W{0
a-u"@jH UG%f0
)u0Y bCyA1C8_ V0function ydot=pend(t,y,n)振动资讯'D"_B"| r&cEF
F=1.15;
xL ^.`xZY U8[0a=0.5;振动资讯X!tv0dxbE6b*}
ydot=[y(2);振动资讯IQ t_9c4y Y|D K
    -sin(y(1))-a*y(2)+F*cos(n*t)];
JjbFGOry0
g] Q_S]$},I0振动资讯&M'iX&`rI+Z.G
clear;
}/^.vC)W3a1tYC5|0%set innitial conditions as y and dy/dt
:J]/Fb'Ld S0y0=[0.8;0.8];振动资讯 _;eR3y@5\YM,M
ic=1;
f{#e V~0n=2/3;振动资讯TJ'|I)g
%integrate for 80 periods T
xS LiI?8KV0for i=1:1000振动资讯,iZIO)eG
    T=2*pi/n;振动资讯R-L.Vf C*t4h
    tspan=[(i-1)*T i*T];振动资讯6JU'd@:P@(s0F3J
    ptions=odeset('AbsTol',1e-8,'RelTol',1e-8);
$|7Q8mf\e0    [t,y]=ode45(@pend,tspan,y0,options,n);
)e z6o(Uf)zn0    steps=length(t);
DzJ8U1c},[%J0    y0=y(steps,:);振动资讯 K MaA!Z N-Vx V_
    ypoin(i,:)=y0;
Gu4\v[+_ a0    yp(ic:ic+steps-1,:)=y(1:steps,:);
-oF~nps g0    ic=ic+steps;振动资讯4L;K!d;z;p
end
b t*MVl)_p;L0for i=10:1000振动资讯c8c ?)h3lAH
    fprintf('%10.6f %10.6f\n',ypoin(i,1:2))振动资讯3jhiM-N ?
    subplot(2,1,1)振动资讯4Gg^t(d
    plot(ypoin(i,1),ypoin(i,2),'k.','markersize',5)
;GU'A O({^7UP9[/Qr+]0    xlim([-60 -53]);振动资讯MBb`~*W
    hold on
X)GdbOp9^7Y0end
MMW!{E"h0subplot(2,1,2)
+wJ6C`4[&KfFa;sp0plot(yp(1:ic-1,1),yp(1:ic-1,2),'k');振动资讯4zg([#F(fQ~
xlim([-60 -53]);振动资讯\#lo$z.c$OJH

JD|F f0untitled.PNG

TAG:

huangbijun发布于2008-07-28 15:43:05
communications
真的是好东西,我是搞数学的,现在对非线性科学非常感兴趣,但对数学软件不是很熟悉,希望咱们有机会合作,相互学习!
liliangbiao的个人空间 liliangbiao 发布于2008-07-28 16:17:58
ok, 谢谢,欢迎交流!随时恭候!
我来说两句

(可选)

关于作者