资源描述:
《最大李雅谱诺夫指数的数值计算》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、最大李雅谱诺夫指数的数值计算------------------------------------------------------------------------最大李雅谱诺夫指数的数值计算J.C.SprottDepartmentofPhysics,UniversityofWisconsin,Madison,WI53706,USAOctober15,1997(RevisedAugust31,2004)袁来翻译/上海大学/05/03/22原文出处:http://sprott.physics.wisc.
2、edu/chaos/lyapexp.htm通常通过计算最大的李雅谱诺夫指数来检验系统是否混沌,一个正的最大李雅谱诺夫指数标致了该系统是否混沌,当你已经获得已知产生混沌的方程,这是相对容易做的。当你仅仅只有试验数据记录时,这种计算的困难程度是几乎不可能的,这里我们不考虑这种情形。计算的一般思路是跟踪两个较近的轨道,计算它们分离的平均对数率,无论它们分离得多远,其中之一的轨道将最终回到另一条轨道的附近。在每次迭代过程中,一程序将实现这个工作,完整的程序过程如下:1:在吸引域内,开始于任何初值条件。 最好开始于
3、吸引子上的一个已知点,这种情形,第2步可以省略掉。2:迭代直至轨道落到吸引子上。 这需要自己的判断或通过研究得到的有关该系统的一些知识,对绝大多数系统,只要迭代几百次,我们就认为足够了。通常情况下,除非你选的初值点刚好靠近分岔点,要不在几百次后它不会远离吸引子的。3:选择(几乎任意的)靠近的点(设两点的距离为d0) 适合的d0的选择是至少要比计算机中的浮点数的1000倍大,如:在(8字节)的双精度的(对这些计算的最低推荐),变量有52-比特的尾数,故,精度是:2-52=2.22x10-16,因此,我们
4、只要有d0=10-12就足够了。4:两轨道向前迭代一次,并计算分离量d1 分离量的计算:两轨道的每个分量上的差的平方再和再开平方,如:对二维的系统有变量x和y,那么分离量是:d=[(xa-xb)2+(ya-yb)2]1/2,这里下标(a和b)分别标出了两轨道。5:以任何方便的底数估计log
5、d1/d0
6、 通常是采用自然对数(e为底数),但对映射,在每次少许的迭代中,李雅谱诺夫指数被引用,在这种情形下,我们需要以2做为底数(注:log2x=1.4427logex)。 如果d1近似等于0,那么在估计对
7、数时,将会得到错误,在这种情形下,尝试用更大的d0,如果这还不够,那么你不得不忽略这里发生的值。但是这样做的话,你的李雅谱诺夫指数计算可能有错误。6:调整一条轨道,使得在方向d1上的分离量为d0 这也许是最难的一步,且易出错,如(在二维的情形),假如轨道b是要调整的,在一次调整后它的值是(xb1,yb1),那么它将重新初始化为:xb0=xa1+d0(xb1-xa1)/d1和yb0=ya1+d0(yb1-ya1)/d1.7:重复4-6步,计算第5步的平均值 你或许舍掉些前面的值去保证轨道已经进入了最大的
8、扩展方向,这也是一好的想法去计算动态的平均值作为值是否已经趋于一固定的唯一值,得到可靠的计算,有时候,结果收敛得很慢,但是,在几千次迭代后,通常能得到两个数的精确估计,这是不错的想法去证明你的结果是独立于初值条件的,d0的值,迭代的次数包含在平均中,你也许会想检验无界的轨道,由于你将得到数值误差,在这种情形下,李雅谱诺夫指数是没有意义的。 在一般的2维的二次映射中,当寻找混沌解时,其Basic源程序和可执行编码实现(sourceandexecutable).source的内容:DEFDBLA-Z'Usedou
9、bleprecisionDIMa(12)'ArrayofcoefficientsRANDOMIZETIMER'ReseedrandomnumbersSCREEN12'AssumeVGAgraphicsn%=0WHILEINKEY$=""'LoopuntilkeyispressedIFn%=0THENCALLsetparams(x,y)CALLadvancexy(x,y,n%)'AdvancethesolutionCALLdisplay(x,y,n%)'DisplaytheresultsCALLtestsoln
10、(x,y,n%)'TestthesolutionWENDENDSUBadvancexy(x,y,n%)SHAREDa()xnew=a(1)+x*(a(2)+a(3)*x+a(4)*y)+y*(a(5)+a(6)*y)y=a(7)+x*(a(8)+a(9)*x+a(10)*y)+y*(a(11)+a(12)*y)x=xnewn%=n%+1ENDSUBSUBdisplay(x,y,n%)STATICxm