cailiang 发表于 2009-5-16 15:31

紧急求助!计算系统的李雅普诺夫指数

去年上半年就一直在计算我这系统的李雅普诺夫指数,可是至今仍然没有得到可信的结果,我用的程序是从matlab演化过来的,转化成fortran语言的,就是利用龙哥库塔积分和gsc正交化矩阵的方法,就是得不出正确的结果,然后我就在程序中把运动方程改成洛伦兹系统和洛斯勒系统,得到的结果却是完全正确的,我就懵了。为什么呢?为什么我把方程换成我这里系统的微分运动方程就不正确了呢?我相信既然带到那两个系统里能得到正确结果,那主程序就应该没有什么问题?可是到底出错在哪里呢?于是我就调步长,调迭代次数等一些参数,可是忙了九个多月一直在调试程序就是得不出结果,搞得我现在无能为力,哪里错了呢?有哪位大侠能否提点宝贵意见,给我指明道路。我想尽快的翻过这座山啊。

cailiang 发表于 2009-5-18 15:37

怎么没有人回答我!郁闷啊

无水1324 发表于 2009-5-18 21:15

回复 楼主 cailiang 的帖子

真的很抱歉哈,我也看了很久,但是还不知道你是哪里出了问题,就帮你顶一下吧!

cailiang 发表于 2009-5-19 09:43

我不仅试着算了下洛伦兹和洛斯勒的,然后,我又参考了陆同兴编著的《非线性物理概论》168面的产生混沌的三阶非线性常微分方程及其李雅普诺夫指数,计算了x'''=-0.7x''-x'+x-x^3,初始条件(0,1,0),得到的指数是(0.138,0,-0.838),三个指数之和为-0.7。我把方程改了下,算的结果为(1.362595E-01,-1.727974E-01,-8.361882E-01),三个指数和为-7.001016E-01,和给出的结果很接近了。然后又算了个x'''=-0.5x''-x'+x-sgn(x),初始条件(0,1,0),给出的指数是(0.601,0,--1.101),指数和为-0.5。我也计算了下,结果是(6.008455E-01,-5.503432E-01,-5.504704E-01),指数和为-4.999682E-01,可见结果的出入比较大了。为什么会这样?我想原来是这里面有符号函数,在求雅克比矩阵时,x=0处是不可求导得了,而对于洛斯勒和洛伦兹以及和最上面的系统是不包含任何函数的,如果包含连续函数也是可以的。正好我这个系统的摩擦力函数也是带有符号函数,所以无法求的雅克比矩阵,也就无法计算其指数了,是这样的吗?还望高手指点!那用什么方法比较合适呢?还有我这个系统初始不稳定,在画轨道图或分岔图时抛去了前面喝多的点,那在计算指数时的初始条件是不是从抛去前面那些点之后的点进行算起?

cailiang 发表于 2009-5-20 13:08

还是没有人理我啊。:'(

xiaocheng_2007 发表于 2009-5-31 21:16

回复 5楼 cailiang 的帖子

虽然我不是很懂,但是我在计算最大LE的过程遇到的很多问题,好像跟参数设置有关。有几位网友向我问过几个问题,程序没有错,但是matlab老是报错,到底是什么原因?经过排除我发现,原因都与参数设置有关,对于不同的数据或系统,参数的大小必须改变才可以,应该跟数据或系统本身有关。

zhailiangjun 发表于 2009-6-1 10:49

回复 板凳 无水1324 的帖子

嗯,在做lyapunov指数时,老是会出现这样的问题,我曾经计算了一个哈密顿系统的混沌的lyapunov指数,也是尝试了很多的方法,虽然现在得到了一个相对稳定的结果,但是还是不敢保证计算的结果是一定正确的。在论坛的精华帖中也是给出了很多种的计算方法,计算的结果也是不尽相同,是不是算法自身的稳定性还存在问题呐?另外,怎么判断一个指数是否正确呐,有什么可以简单明了的依据吗?谢谢,无水,

molshibi123 发表于 2009-6-2 17:24

回复 地板 cailiang 的帖子

请问你x'''=-0.5x''-x'+x-sgn(x),这个带符号函数的李氏指数改怎么求啊

学习者 发表于 2009-8-4 16:36

楼主还做这个问题吗?能加我讨论吗?QQ:351806977

后来1206 发表于 2012-5-13 18:28

回复 4 # cailiang 的帖子

不知楼主现在还在这个论坛混没有了。看见了想向你请教下。czf1206@163.com
页: [1]
查看完整版本: 紧急求助!计算系统的李雅普诺夫指数