notemple 发表于 2008-7-3 23:07

分岔图求助:单自由度时滞系统

根据一篇论文实例,做了分岔图和论文不符,请各位指教:
系统:
function bw=boucwen(t,x,B)
epsilon=0.02; %阻尼比
w=1;         %系统固有频率
gama=0.5;
A=1;
%B=0.11;
alpha=0.3;
beta=-0.7;
p=1;
bw=[x(2);
    -2*epsilon*w*x(2)-gama*w^2*x(3)-(1-gama)*w^2*x(1)+B*cos(p*t);
    A*x(2)-alpha*abs(x(2))*x(3)-beta*x(2)*abs(x(3))];

画分叉图:
clear all;
ff=1:1:120;
options=odeset('RelTol',1e-5);
tt=2*pi;
hold on
for j=1:length(ff)
    =ode45(@boucwen,,,options,ff(j));
    i=100:20:2000;
    plot(ff(j),x(i,2),'k.')
end

得到结果:


论文里的结果:


请帮忙看看,画分叉图的代码有什么问题吗?怎么相差这么大?谢谢指教

[ 本帖最后由 无水1324 于 2008-7-24 16:49 编辑 ]

咕噜噜 发表于 2008-7-4 08:36

应该是瞬态比较严重

notemple 发表于 2008-7-4 09:14

请问怎么改程序?舍弃前面的一部分点?
将代码修改如下:
clear all;
ff=1:1:120;
%axis()
options=odeset('RelTol',1e-5);
tt=2*pi;
hold on
for j=1:length(ff)
    =ode45(@boucwen,,,options,ff(j));
    i=3000:20:4000;
    plot(ff(j),x(i,2),'k.')
end

结果:

好像仍然不太对啊,请多多指教,谢谢

[ 本帖最后由 notemple 于 2008-7-4 09:28 编辑 ]

notemple 发表于 2008-7-4 11:13

诚心请教,请不吝赐教,谢谢各位了

notemple 发表于 2008-7-4 14:04

或者哪位指教一下从3楼的图中,能分析出点什么结果?谢谢大家指点一下吧

baipi 发表于 2008-7-4 22:55

你的程序中什么参数体现了论文中的alfa=0.05 beta=0.95
是不是你的参数取值和参考文献中不一样啊
那样系统分岔肯定就不一样了

notemple 发表于 2008-7-4 23:11

先谢谢baipi,是我贴错论文的图了
论文图:


但还是不一样啊,这是怎么回事?或者请分析一下我三楼图里是什么运动?

[ 本帖最后由 notemple 于 2008-7-4 23:14 编辑 ]

咕噜噜 发表于 2008-7-5 10:06

分叉竟然分成这么多
原文里面有没有具体数据和初始条件

notemple 发表于 2008-7-5 11:07

原帖由 咕噜噜 于 2008-7-5 10:06 发表 http://www.chinavib.com/forum/images/common/back.gif
分叉竟然分成这么多
原文里面有没有具体数据和初始条件
咕噜噜,你指什么具体数据?
epsilon=0.02; %阻尼比
w=1;         %系统固有频率
gama=0.5;
A=1;
%B=0.11;
alpha=0.3;
beta=-0.7;
p=1;
这些都是原文中的参数值啊,初时条件在我去掉了瞬态过程后还有影响吗?谢谢啊

无水1324 发表于 2008-7-10 12:16

回复 9楼 的帖子

i=3000:20:4000;
这里是什么意思?
我感觉是你的Poincare截面作错了?

notemple 发表于 2008-7-16 12:09

原帖由 无水1324 于 2008-7-10 12:16 发表
i=3000:20:4000;
这里是什么意思?
我感觉是你的Poincare截面作错了?
这里是舍弃前面的3000个点,后面每20个点取一个,这个数是我随意取的,这个有什么讲究吗?谢谢无水指点啊

无水1324 发表于 2008-7-16 13:09

回复 11楼 的帖子

这个参数很有讲究的,每个周期计算N个点,那你就只能每N点取一个点。所以你是每周期计算20个点吗?

notemple 发表于 2008-7-16 14:17

回复 12楼 的帖子

谢谢无水的指点,代码改成:
for j=1:length(ff)
    =ode45(@boucwen,,,options,ff(j));
    i=3000:100:4000;
    plot(ff(j),x(i,2),'k.')
end
果然象了很多,谢谢


[ 本帖最后由 notemple 于 2008-7-16 14:20 编辑 ]

无水1324 发表于 2008-7-16 14:47

回复 13楼 的帖子

恩,在增加一些计算的点,画的图可能更加好看、漂亮一些

notemple 发表于 2008-7-16 17:41

回复 14楼 的帖子

恩,非常感谢无水的指点:lol
页: [1] 2
查看完整版本: 分岔图求助:单自由度时滞系统