单摆方程的Poincare截面Matlab实现

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

查看( 104 ) / 评论( 2 )
% Author: Thomas Lee振动资讯gQ+h |Pc AR$po)A
% E-mail: lixf1979@126.com
J^j4`"a t*tQ|KnY'B0% Corresponding: School of Mathematics, Physics and Software Engineering, Lanzhou Jiaotong University, Lanzhou 730070, China
i+M3tAG-w0
V y4ai7_c#W-Hp @0
7G zOsx0c0function ydot=pend(t,y,n)
Li!J{D,e7JQ0F=1.15;
4C3X5ei6l2f"h?;w0a=0.5;
8J#u0U@)u,iy3v9nf0ydot=[y(2);振动资讯4^*x6RT$u;zV
    -sin(y(1))-a*y(2)+F*cos(n*t)];振动资讯%|MU7MO/Bj
振动资讯$x[7d$u0WF$]
振动资讯'Yuw h0g
clear;振动资讯a&@t"z,l5cW3q&N'pwU"J
%set innitial conditions as y and dy/dt
|"N:DIa e#A0y0=[0.8;0.8];振动资讯/iumo2F
ic=1;
7m6hj,? Gn0n=2/3;
x.j,Ns2d W2z9AS,B0%integrate for 80 periods T振动资讯PO sA;dUt,e%\
for i=1:1000振动资讯$CL2Z%l\8c;n?*D
    T=2*pi/n;振动资讯2u~g? KS``.g
    tspan=[(i-1)*T i*T];振动资讯&|i4v_.xG5f
    ptions=odeset('AbsTol',1e-8,'RelTol',1e-8);振动资讯 t,vnHc.C@
    [t,y]=ode45(@pend,tspan,y0,options,n);振动资讯6s(^q3[.s/@/}$f@ |O _
    steps=length(t);
o@n n$_0u1P0    y0=y(steps,:);振动资讯^ [g X9wE2l5wq$d
    ypoin(i,:)=y0;
,Vd\9z5df0    yp(ic:ic+steps-1,:)=y(1:steps,:);
.BX z7^D'c[0    ic=ic+steps;
wY7?MntS{0end
+V{C(g+[L0for i=10:1000振动资讯o$LB)y^!K
    fprintf('%10.6f %10.6f\n',ypoin(i,1:2))振动资讯"K}'\"pT^im
    subplot(2,1,1)
] v?~"V ^@Yw0    plot(ypoin(i,1),ypoin(i,2),'k.','markersize',5)振动资讯2Mhuk!nn9L] E)K/W
    xlim([-60 -53]);
6kq/R,z|-_6n Q0    hold on
6V8k k+MJE0end振动资讯+G0kwY-w|!H&ZP
subplot(2,1,2)振动资讯HP'wd[
plot(yp(1:ic-1,1),yp(1:ic-1,2),'k');
7N6?8z$O^5K-l0xlim([-60 -53]);
5{;w6c*D2vll0
'|9bu5Lc0untitled.PNG

TAG:

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

(可选)

关于作者