声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4608|回复: 5

[分形与混沌] 求教:吸引域画法

[复制链接]
发表于 2009-11-16 13:32 | 显示全部楼层 |阅读模式

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

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

x
请教各位,我现在变化初始条件求poincare截面得到了系统某个参数下存在两个混沌吸引子,现在想知道哪个初始条件对应吸引子1,哪个对应2,并标记不同颜色,即画出系统此参数下的吸引域。请问什么程序和方法可以实现?不同的混沌吸引子,它们之间有什么区别?先谢谢了!
回复
分享到:

使用道具 举报

发表于 2009-11-17 18:15 | 显示全部楼层
你计算出来了,怎么还需要判断?
 楼主| 发表于 2009-12-8 19:16 | 显示全部楼层

回复 沙发 无水1324 的帖子

谢谢无水的回复,请见谅,上次提出问题后见没人回答我就没再来看这个帖子,今天刚看到回复。
我问题的意思是这样的:
    假如系统在某时刻存在A,B两个吸引子。A在右上角,B在左下角,
    现在有不同的初始条件a,b,c,d,e,f,g等等,我想知道有哪些初始条件最终对应的是A吸引子,哪些对应B。
    当然,人工判断我是会的,但是因为初始条件很多,我必须要想办法实现电脑识别,如计算a初始条件,最后对应A吸引子,电脑识别在右上角,标记初始条件a对应的点为蓝色,同理,如果b对应B吸引子,电脑识别在左下角,标记b对应点为红色,这样就把所有的初始条件分为2种颜色,得到了系统此时的吸引域。
    因为我matlab不是很熟练,不知道如何用电脑识别A和B。不知道这个问题是不是关于用matlab进行图像识别的?请教无水和论坛里的高人们,你们知道如何用电脑判断吗?
    这个问题我可能表述的不够清楚,不管怎样,谢谢无水和大家了!
发表于 2009-12-19 23:19 | 显示全部楼层
对于吸引盆的做法,首先你要分析A,B两个吸引子的稳定性,以及共存情况!
1 对于离散系统,你首先要分析要做的系统在不动点处的稳定情况,然后画出稳定的吸引子的初始值变化的情况,也就是说那些初始值经过一系列迭代,得到的最终解距离某个不动点最近,到达距离某个不动点有一定的距离非常短,就成为这个初值是被吸引到这个不动点的,大约一半都取得distance=10^(-8),趋近于某一个不动点的初值值一个画点(black),趋近于另一个不动点的初值不画点或者画成其他颜色即可区分。那么这个时候得到的吸引盆就是你要的 不动点处的basins of attraction(for fixed point attractors, 参看Ott Edwart 的chaos in dynamical systems P.170-1)! 另外,还有一种比较bizarre type, namely, Riddled Basins of attraction. Refer to the above bibliography!
2 对于连续系统,和离散系统差不多的原则,只不过是还是初始值的判断。方法类似,另外注意,这里面有Basins of attraction, Riddled basins of attraction and Wada Basins of attraction. 其实,不失一般性,都被称作fractal basins attractions. Refer to the above bibliography!
3 至于Matlab画图,可采用上述的办法,但是经常要用到伪彩图,例如 image pcolor 等等,首先你要了解Matlab中的图像色彩的阈值,这样产生的图像才会更好些。但是由于Matlab对于循环非常的慢,建议使用其他性能更好的语言,比如Java, VC++等之类的语言。

评分

2

查看全部评分

发表于 2010-1-11 19:33 | 显示全部楼层

Henon的吸引盆程序

%Author:liliangbiao
%Corresponding:lixf1979@126.com
%Plotting the basins of attraction of the 2D Henon Map
% Using Escape method.
clear;
a=1.4;
b=0.3;
niter=2000;
max=100;
step=0.001;
hold on;
for i=-2.5:step:2.5
    for j=-2.5:step:2.5
        x=i;
        y=j;
        for k=1:niter
            xprev=x;
            yprev=y;
            x=a-xprev*xprev+b*yprev;
            y=xprev;
        end
        if(sqrt(x*x+y*y)>=max)
            h=plot(i,j,'k.');
            set(h,{'MarkerSize'},{0.5});
        end
    end  
    disp(i);
end
程序1.PNG
发表于 2018-5-13 19:14 | 显示全部楼层
您好,请问你现在知道怎么画吸引域吗
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-17 07:20 , Processed in 0.078826 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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