octopussheng 发表于 2009-10-21 21:46

其实不管什么方法,最重要的是要把它计算的原理弄清楚,这样看别人的程序就很容易看懂,不会出现一头雾水的现象了,这里也是向楼主提一点小的建议。

molshibi123 发表于 2009-10-22 16:35

谢谢octopussheng的建议。因为我主要搞混沌电路的,我是用这个wolf法当成一个工具来判断下,要是这个算法弄的很明白的话怕是一时半会弄不来的。

octopussheng 发表于 2009-10-22 20:49

电路混沌应该是针对连续系统的,如果有微分方程,那样就好办多了

molshibi123 发表于 2009-10-23 08:52

连续的我也会求。我做的是一个非连续包含符号函数,所以要用的最大李氏指数。这样用到的是时间序列。

octopussheng 发表于 2009-10-23 10:06

能否把方程列一下,我学习学习

molshibi123 发表于 2009-10-23 11:02

比如:
x'=10*(x-sgn(y)-sgn(x));
y'=x-y+z;
z'=-16*(y-sgn(y)).
这样的话肯定只能算最大李氏指数啦。符号函数没法用到雅克比矩阵啊。octopussheng,你看了我贴的程序了吗?问题出在哪里呢,是不是网上下的wolf法程序有问题啊

octopussheng 发表于 2009-10-23 14:22

其中符号函数定义是怎样的?

molshibi123 发表于 2009-10-23 15:08

符号函数不就是当x>0时sgn(x)=1;
x=0时sgn(x)=0;
x<0时sgn(x)=-1;
因为在0点不能求导所以不能用雅克比矩阵啊,只能用时间序列求最大李氏指数啦,octopussheng,微分方程组用ode45求出来后不能直接用序列x吧,就是那个程序头该如何改呢

molshibi123 发表于 2009-10-23 15:30

版主;我看到你在这个版块里的一个算chen系统用定义法求最大李氏指数的程序,但ode45后面的积分时间参数为什么取1呢。我改成其他时间段结果根本不对。还有我验证其他系统也不对呢。

octopussheng 发表于 2009-10-23 19:52

回复 23楼 molshibi123 的帖子

那也就是说,sgn(x)的值不是1,就是0,这个在求Jacobian矩阵的时候,应该就不用考虑了吧?或者,考虑下面的方法:

对每个x的取值区间,设定一个Jacobian矩阵的定义,这样,就不会产生矛盾了。

octopussheng 发表于 2009-10-23 19:54

回复 24楼 molshibi123 的帖子

这个程序中计算时间取为1,我的理解是和循环相关联的,计算的话,不应改为其他值。

此外,各种方法之间计算结果是肯定有区别的,还需考虑初始条件、计算时间等的影响。

molshibi123 发表于 2009-10-24 08:49

octopussheng,我看到wolf法中
min_point=1; %&&要求最少搜索到的点数
MAX_CISHU=5 ;%&&最大增加搜索范围次数

这两个参数该如何设定呢,我看不同的系统改取不同的值吧。octopussheng,你是这方面的高手,能告诉我这两个怎么求呢,有什么公式吗?还是用什么程序算出来的啊

jlliang 发表于 2009-10-24 10:00

MAX_CISHU=5 ;%&&最大增加搜索范围次数
我觉得是参照wolf文章的,文章中fortran程序有这样的值

molshibi123 发表于 2009-10-24 10:40

我看到过那篇英文,好长的,就是不同的系统该如何变换这两个值呢

molshibi123 发表于 2009-10-24 10:43

回复 26楼 octopussheng 的帖子

要是我解微分方程的积分时间取100,的话程序里那些地方该改呢,你这个程序确实看得不是很明白
页: 1 [2] 3
查看完整版本: 用wolf法求解最大李氏指数请进来讨论