回复 31楼 的帖子
不是计算平衡点,而是截取相点得到的 和我们这里讨论的不是同一种情况哦! 对于自治系统的分岔图的画法,我觉得上面OCT同志的做法可能比较不精确,因为选择Poincare截面有讲究,一般不选取最大值或者其他值,因为这些极大值可能导致图像的不连续性,因为Rung-kutta方法本身的缺陷,可能导致在某个区域内无解或者解的不精确性,因此一般选取的截面为一个平衡点处或者某一个特殊的截面,所以我认为你总结的程序不精确!这些截面你可以参考陈关荣和吕金虎合著的Lorenz系统族一书,另外还可以参看刘秉正的非线性动力学一书的Rossler系统的分岔图,我的程序就是根据那些编写的,在我发表在黑龙江科技学院学报上的一篇文章《Rossler系统的分岔和混沌的深入探讨》 也是关于Rossler的分叉的,我只不过是把Rossler系统放在这个大区间上考虑了,而刘秉正先生的是.很可惜 我那篇文章几乎全是翻版,没有什么创新之处!我把图像贴上![ 本帖最后由 liliangbiao 于 2008-3-29 10:29 编辑 ] 另外,还可以得到一些其他系统的分岔图像。很简单的!我再举一个例子,这是统一混沌系统的一个分岔图及其对应的指数谱.
回复 35楼 的帖子
你的意思是不是我上面的所作的分岔图取的截面不对而导致得到的分岔图不合理呀?另外,请问你这个随参数变化的最大LE谱是如何做的,我一直得不到满意的结果呀!
厉害
厉害, 对于LLE,也就是the largest Lyapunov exponent, 可以选用吕金虎博士的那本小册子上的方法都可以编写,只不过是多加一项控制项而已,通常我认为那些程序有各自的适用性,可以选取一二个系统验证一下结果,多少都会有些出入. 而我一般用Mathwork上的那个程序计算全部的指数值(LEs, Lyapunov-exponent spectrum),(注:程序可以在Matlab中心网站上找到,也可以参看我的个人空间,他原来是计算Lorenz系统的,当然可以任意修改为不连续的或者连续的系统都可以),然后选取最大的指数进行比较, 后,可得最大指数谱(LLE).当然这个程序也有一定的适用性,对于计算分数维特别高的很有效,尤其是almost Hamiltonion chaotic systems,当然,对于极限环破裂中遇到的一系列的问题,有些不能计算,有些能计算,不是耗时太多,就是不精确,不正确,至于原因我还在寻找answer. 我知道你的意思了。我现在在算Rossler系统的最大Lyapunov指数谱,但是达不到你上面图形的效果,我把我计算的程序贴一下,请帮助看一下在哪些地方存在问题吧!
系统定义:
function dx=Rossler(t,x);
% Rossler方程[不显含时间t的自治系统]
%
dx(1,1)=-x(2)-x(3);
dx(2,1)=x(1)+x(4)*x(2);
dx(3,1)=x(5)+x(3)*(x(1)-x(6));
dx(4,1)=0;
dx(5,1)=0;
dx(6,1)=0;
求LE
function Rossler_LE
% 定义法求LE
Z=[];
d0=1e-8;
for c=linspace(1,100,3000)
lsum=0;
x=1; y=1; z=1;
x1=1; y1=1; z1=1+d0;
for i=1:100
=ode45('Rossler',2,);
=ode45('Rossler',2,);
n1=length(Y1); n2=length(Y2);
x=Y1(n1,1); y=Y1(n1,2); z=Y1(n1,3);
x1=Y2(n2,1); y1=Y2(n2,2); z1=Y2(n2,3);
d1=sqrt((x-x1)^2+(y-y1)^2+(z-z1)^2);
x1=x+(d0/d1)*(x1-x);
y1=y+(d0/d1)*(y1-y);
z1=z+(d0/d1)*(z1-z);
if i>70
lsum=lsum+log(d1/d0);
end
end
Z=;
end
r=linspace(1,100,3000);
plot(r,Z,'-');
hold on;
plot(r,0,'r-');
title('模拟Rossler系统最大lyapunov指数谱')
xlabel('parameter c'),ylabel('lyapunov exponents') 希望大家继续支持这个帖子,让每个在分岔计算中有疑虑的人都能找到答案啊! 小弟有个问题不明白,想请教各位师兄:采用最大值法绘制分叉图的理论背景或者依据是什么??能否利用获取最小值数据的方式作图???
回复 29楼 的帖子
你画的是点线图 ?应该步长取小点,
这样容易分析