声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 5472|回复: 16

[稳定性与分岔] 分岔图求助:单自由度时滞系统

[复制链接]
发表于 2008-7-3 23:07 | 显示全部楼层 |阅读模式

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

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

x
根据一篇论文实例,做了分岔图和论文不符,请各位指教:
系统:
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)
    [t,x]=ode45(@boucwen,[0:tt/100:21*tt],[0,0,0],options,ff(j));
    i=100:20:2000;
    plot(ff(j),x(i,2),'k.')
end

得到结果:
2.jpg

论文里的结果:
1.JPG

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

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

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2008-7-4 08:36 | 显示全部楼层
应该是瞬态比较严重
 楼主| 发表于 2008-7-4 09:14 | 显示全部楼层
请问怎么改程序?舍弃前面的一部分点?
将代码修改如下:
clear all;
ff=1:1:120;
%axis([0.22 0.4 0.2 0.6])
options=odeset('RelTol',1e-5);
tt=2*pi;
hold on
for j=1:length(ff)
    [t,x]=ode45(@boucwen,[0:tt/100:41*tt],[0,0,0],options,ff(j));
    i=3000:20:4000;
    plot(ff(j),x(i,2),'k.')
end

结果:
3.jpg
好像仍然不太对啊,请多多指教,谢谢

[ 本帖最后由 notemple 于 2008-7-4 09:28 编辑 ]
 楼主| 发表于 2008-7-4 11:13 | 显示全部楼层
诚心请教,请不吝赐教,谢谢各位了
 楼主| 发表于 2008-7-4 14:04 | 显示全部楼层
或者哪位指教一下从3楼的图中,能分析出点什么结果?谢谢大家指点一下吧
发表于 2008-7-4 22:55 | 显示全部楼层
你的程序中什么参数体现了论文中的alfa=0.05 beta=0.95
是不是你的参数取值和参考文献中不一样啊
那样系统分岔肯定就不一样了
 楼主| 发表于 2008-7-4 23:11 | 显示全部楼层
先谢谢baipi,是我贴错论文的图了
论文图:
4.JPG

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

[ 本帖最后由 notemple 于 2008-7-4 23:14 编辑 ]
发表于 2008-7-5 10:06 | 显示全部楼层
分叉竟然分成这么多
原文里面有没有具体数据和初始条件
 楼主| 发表于 2008-7-5 11:07 | 显示全部楼层

咕噜噜,你指什么具体数据?
epsilon=0.02; %阻尼比
w=1;         %系统固有频率
gama=0.5;
A=1;
%B=0.11;
alpha=0.3;
beta=-0.7;
p=1;
这些都是原文中的参数值啊,初时条件在我去掉了瞬态过程后还有影响吗?谢谢啊
发表于 2008-7-10 12:16 | 显示全部楼层

回复 9楼 的帖子

i=3000:20:4000;
这里是什么意思?
我感觉是你的Poincare截面作错了?
 楼主| 发表于 2008-7-16 12:09 | 显示全部楼层
原帖由 无水1324 于 2008-7-10 12:16 发表
i=3000:20:4000;
这里是什么意思?
我感觉是你的Poincare截面作错了?

这里是舍弃前面的3000个点,后面每20个点取一个,这个数是我随意取的,这个有什么讲究吗?谢谢无水指点啊
发表于 2008-7-16 13:09 | 显示全部楼层

回复 11楼 的帖子

这个参数很有讲究的,每个周期计算N个点,那你就只能每N点取一个点。所以你是每周期计算20个点吗?
 楼主| 发表于 2008-7-16 14:17 | 显示全部楼层

回复 12楼 的帖子

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

[ 本帖最后由 notemple 于 2008-7-16 14:20 编辑 ]
发表于 2008-7-16 14:47 | 显示全部楼层

回复 13楼 的帖子

恩,在增加一些计算的点,画的图可能更加好看、漂亮一些
 楼主| 发表于 2008-7-16 17:41 | 显示全部楼层

回复 14楼 的帖子

恩,非常感谢无水的指点:lol
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-26 02:10 , Processed in 0.100877 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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