cam_1980
发表于 2008-8-27 12:49
看图说话——布鲁塞尔问题的分叉图
大家看看,得到如下的布鲁塞尔问题的分叉图,能得到哪些结论?希望知道的人多给出分析。
原微分方程是
dy=[a-(b+1)*x(1)+x(1)^2*x(2)+arfa*cos(w*t);
b*x(1)-x(1)^2*x(2)],横坐标是arfa
无水1324
发表于 2008-8-27 15:41
回复 楼主 cam_1980 的帖子
图右很多毛刺,是不是瞬态没有去除呢?
不过还是很漂亮的一个倍周期分岔图
cam_1980
发表于 2008-8-27 16:41
谢谢无水的回复,我对这个图的理解是arfa从0.8~0.5左右是一倍周期解,只有一个不动点,在0.15~0.5左右是2倍周期解,有两个不动点,0.1~0.15左右是四倍周期解,有4个不动点,然后再往后就是黑乎乎一片,这个说明什么?是不是8倍周期解、16倍周期解及其以上的周期解由于arfa区间太小就混到了一起,所以才会出现黑乎乎的一片?如果是混沌,他的分叉图又是什么样子的呢?
陆永杰
发表于 2008-8-27 20:30
一个典型的倒分岔,哈哈。不错!
cam_1980
发表于 2008-8-27 22:08
我对分叉图的分析确实知道的很少,希望知道的大虾多多发表意见,说说分析分叉图可以得到哪些结论?以及不同的分叉图形状说明了什么问题等等,能说多少就说多少。
liliangbiao
发表于 2008-8-28 13:55
我怎么得不到你的图像,你的参数是多少?
cam_1980
发表于 2008-8-28 15:59
回复 6楼 liliangbiao 的帖子
程序如下:
function dy=bluself(t,x)
global arfa;
a=0.4;
b=1.2;
w=0.8;
dy=[a-(b+1)*x(1)+x(1)^2*x(2)+arfa*cos(w*t);
b*x(1)-x(1)^2*x(2)];
function bluselfencha
clear;
global arfa;
x0=;
a=0.4;
b=1.2;
w=0.8;
T=2*pi/w;
tspan=0:T/100:15000;
n=length(tspan);
for arfa=0.8:-0.0015:-0.1
display(arfa);
=ode45(@bluself,tspan,x0);
i=floor(n*40/100):100:n; %舍弃前40%的数据
plot(arfa,x(i,2),'k.','markersize',1);
hold on;
end
liliangbiao
发表于 2008-8-28 17:18
但是 我总是觉得你的分插图做得不够精确,你看看我得到的图像!
无水1324
发表于 2008-8-28 17:45
回复 8楼 liliangbiao 的帖子
你的图作的光滑一些形状基本上差不多哈
cam_1980
发表于 2008-8-28 19:23
回复 8楼 liliangbiao 的帖子
你做的确实很漂亮,其实我在做的时候遇到一个问题,如果我arfa取值区间大的话,最后电脑就算不动了,中途直接说memory不足什么的,直接中断,我的电脑是amd athlon 3600+ 2.0G,2G的内存,为什么会出现这个问题,还是我的代码本身有问题?你能不能把你的修改后的代码也贴出来看看。还有,你的分叉图最后的尾巴为什么是向上翘?跟我的相反。是不是纵坐标选择的位移?
liliangbiao
发表于 2008-8-28 20:07
程序我的个人主页里面有!
cam_1980
发表于 2008-8-29 11:02
回复 11楼 liliangbiao 的帖子
看了一下你的个人空间,原来是你的程序里涉及的微分方程与我的不一样,你的是三个方程组成的微分方程组,我的是俩,不过方程性质应该是一样的,要不分叉图怎么会类似呢,还是有很大的借鉴价值,仍然感谢。
liliangbiao
发表于 2008-8-29 14:11
上边我给出的图像时alpha-x1的图像,这里给出来的图像是alpha-x2图像,尽管图像的走向不同,但是发生分叉点和混沌区域是不会变的!
cam_1980
发表于 2008-8-29 18:23
回复 13楼 liliangbiao 的帖子
我特别希望谁能够在我给出的程序的基础上修改一下,然后运行一下试试,贴出图片并把修改后的程序也贴出来看看。因为我用我的程序运行之后线条部分始终是毛刺一堆。无论我取积分时间多大,去掉瞬态部分多大,最后得到的图线条部分毛刺很多。如果怕时间太久,你可以就运行参数0.4~0.55部分,我就看看线条和分叉点出是否轮廓明显。
liliangbiao
发表于 2008-8-29 20:02
对不起,你的程序我觉得不太正确!我用VC编写的,Matlab程序也可以,我给你了,就按照那个程序修改即可!你说的三维的和二维的没有本质上的区别,只有处理的稍有不同!