声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2402|回复: 6

[稳定性与分岔] 大家帮忙看看,为什么两种程序做出来的分岔图效果这么不一样啊?

[复制链接]
发表于 2011-10-15 13:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
本帖最后由 chenshumeionly 于 2011-10-15 21:01 编辑

function dX=dafin(t,X)
global F wd;
r=0.1;
x=X(1);
y=X(2);
psi=X(3);
dX=zeros(3,1);
dX(1)=y;
dX(2)=-r*y+x*(1-x^2)+F*cos(psi);
dX(3)=wd;

clear;
global F wd;
wd=1;
range=[2:0.0001:3];
period=2*pi/wd; %
k=0;
YY2=[];
step=2*pi/200;  %步长。
for F=range
    y0=[0 0 0];
    F
    k=k+1;
    % discard the first 60 periodic data;
    %除去前面60个周期的数据,并将最后的结果作为下一次积分的初值
    tspan=[0:step:60*period];
    [t,Y]=ode45(@dafin,tspan,y0);
    y0=Y(end,:);
    j=1;
    for i=60:200
        tspan=[i*period:step:(i+1)*period];
        [t,Y]=ode45(@dafin,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-51:end);
plot(range,bifdata,'k.','markersize',1);
file:///C:/Users/Blair/AppData/Local/Temp/ksohtml/wps_clip_image-25709.png

function xdot=hundunn(t,x,flag,f)
mu=0.1;w0=1;
xdot=[x(2);-mu*x(2)+x(1)-x(1)*x(1)*x(1)+f*cos(w0*t)];
end

clear;clc;close all;
w0=1;
T=2*pi/w0;
f=2:0.001:3;
for i=1:length(f)
  [t,x]=ode45('hundunn',[0:T/100:70*T],[0;0],[],f(i));
  plot(f(i),x(4000:100:end,2),'k.','markersize',1);hold on
end
  
file:///C:/Users/Blair/AppData/Local/Temp/ksohtml/wps_clip_image-25360.png

关键是图一看上去是周期为1的地方,画出来的相图和庞加莱截面图显示的周期不为1,恰好符合图2的意思,这是什么原因啊?









回复
分享到:

使用道具 举报

发表于 2011-10-17 10:16 | 显示全部楼层
图我看不到呢。分岔图里周期一的地方,你把图在那个地方放大,或许是几个点堆积的。还有,第一个程序的响应是用位移表达的,第二个程序的响应是用速度表达的,我不确定这一点是否有影响。
 楼主| 发表于 2011-10-17 20:40 | 显示全部楼层
回复 2 # freedignity 的帖子

我这里看的到图啊,呀,没注意第二个是速度,我觉着这应该不会影响   相图的时候是位移速度图,俩规律应该是一样的。
不明白呀,我感觉第一个图应该更精确些的
发表于 2011-10-18 13:53 | 显示全部楼层
我又算了两个图。的确第一个图的效果好一些。不过把f的取值范围改成了0.001,不然时间太长了。从图左边看,觉得如果把f的左边取到1,可能还有分岔现象。
 楼主| 发表于 2011-10-19 21:59 | 显示全部楼层
回复 4 # freedignity 的帖子

对呀,我最后的范围是0.01-10
发表于 2011-11-27 15:51 | 显示全部楼层
对这个很感兴趣。第一个程序是正确的分岔图画法,第二个有点错(不敢确定)。但是相图和映射图和第一个分岔图不能吻合。从相图和映射图上看系统运动周期数已经变了,但分岔图并不能反映这种改变。请高手们解释啊。
发表于 2011-12-7 11:18 | 显示全部楼层
没看到图不清楚怎么回事
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-11 22:20 , Processed in 0.057682 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表