咕噜噜 发表于 2007-6-15 10:06

你用的这个是matlab里面的什么求解器?
不好意思的说我没用过,但是你的微分方程来看用ode45应该是可以的
或者无水帮你看看吧
纯粹从Lyapunov指数可以判断混沌问题,但是你要确保你的Lyapunov指数是正确地

无水1324 发表于 2007-6-15 10:11

这个是LE指数,我是想看一下你说不是混沌的那个混沌相图!

yina_111 发表于 2007-6-15 10:18

回复 #20 无水1324 的帖子

在16楼

咕噜噜 发表于 2007-6-15 10:21

回复 #21 yina_111 的帖子

那个是相图还是什么?

yina_111 发表于 2007-6-15 10:21

回复 #19 咕噜噜 的帖子

我不知道
求解LE指数,除了用matlab求解
还有其他方法吗?
做了几次,都是这样的,如果手动去算,难度很大,况且手动去做,我也不会。

无水1324 发表于 2007-6-15 10:24

回复 #23 yina_111 的帖子

你的完全错了:
1、检查方程是否书写错误;
2、算法问题,你的方程的解已经不稳定了,误差已经太大了。是否是刚性的?
3、你算的LE指数应该也是有问题的!

咕噜噜 发表于 2007-6-15 10:30

我的感觉和无水差不多,你用LE求解器求也不能说错,但是有些的确不适合用LE求解器求解的
你画的是什么图你不清楚吗?时间的位移响应,速度还是加速度响应,或者是相图还是poincare映射还是什么?
能不能给我解释一下你的公式里面没有给出值的例如s的含义

[ 本帖最后由 咕噜噜 于 2007-6-15 10:34 编辑 ]

yina_111 发表于 2007-6-15 10:35

回复 #24 无水1324 的帖子

方程没有错误,
我把方程的系数,作一个很小的调整后,系统就变成周期的了
所求LE指数,应该没有问题,
我想是不是有个指数的值太小了,都-135.442了,导致出现这样的结果?

[ 本帖最后由 yina_111 于 2007-6-15 10:42 编辑 ]

无水1324 发表于 2007-6-15 10:44

function DX=dx(t,x)
a=35.84;
b=0.02;
r=100;
b0=1800;
b1=0.28;
bb=b0*(1+b1*cos(2*pi*t));
DX=[b-b*x(1)-bb*x(1)*x(3);
    bb*x(1)*x(3)-(a+b)*x(2);
    a*x(2)-(r+b)*x(3)];

%————————————————————————————————————
t0=0;
tfinal=200;
x0=;
= ode23('dx',,x0);
plot(t,x(1));


你的参数有问题,我编了上面的程序但是得不到一个非平凡解

yina_111 发表于 2007-6-15 10:48

回复 #25 咕噜噜 的帖子

s是易感者,e潜伏者,i是感染病者,b是自然出生率与死亡率系数,bata是传染率系数,a是由潜伏者转变成感染者的系数,r是感染者治愈后的移出率系数,我画的相图是s与i之间的关系


s,e,i都是小于1,大于0的,且s+e+i小于等于1,

[ 本帖最后由 yina_111 于 2007-6-15 10:56 编辑 ]

咕噜噜 发表于 2007-6-15 10:54

^_^,那你这个图就有的分析了啊
因为他不是非线性里面一般求解的有一定象征意义的图
判断混沌多用相图和poincare映射图

yina_111 发表于 2007-6-15 10:54

回复 #27 无水1324 的帖子

function xdot=SEIR(t,x)
b=0.02;a=35.84;r=100;b0=1800;b1=0.28;
xdot=[b-b*x(1)-b0*(1+b1*cos(2*pi*t))*x(1)*x(3);
    b0*(1+b1*cos(2*pi*t))*x(1)*x(3)-(a+b)*x(2);
   a*x(2)-(r+b)*x(3)];

t_final=100;x0=;
=ode45('SEIR',,x0);
plot(t,x(:,1)),
figure;plot(t,x(:,2)),
figure;plot(t,x(:,3)),
figure;plot(x(:,1),x(:,3)),
figure;plot3(x(:,1),x(:,2),x(:,3)),
figure;plot(t,x),




这是我做的M文件

[ 本帖最后由 yina_111 于 2007-6-15 15:58 编辑 ]

yina_111 发表于 2007-6-15 10:57

回复 #29 咕噜噜 的帖子

请问poincare映射图

怎么画呢

我就会用相图,和LE指数判断

咕噜噜 发表于 2007-6-15 11:33

程序有一定的问题
如果是画相图,你这里对应的就是x与dx,你需要改动一下你的程序
你现在画的这个图可能是根据你的问题来的,有实际意义,但是就非线性理论来说不能作为判断依据,poincare映射论坛里面有很多相关的帖子,你搜索一下,既然你知道相图我就不多说了
你的这个程序改动了一下,如下
function xdot=SEIR(t,x)
b=0.02;a=35.84;r=100;b0=1800;b1=0.28;
xdot=[b-b*x(1)-b0*(1+b1*cos(2*pi*t))*x(1)*x(3);
    b0*(1+b1*cos(2*pi*t))*x(1)*x(3)-(a+b)*x(2);
   a*x(2)-(r+b)*x(3)];

t_final=100;x0=;
=ode45(@SEIR,,x0);
plot(t,x(:,1))
plot(t,x(:,2))
plot(t,x(:,3))
plot(x(:,1),x(:,3))
plot3(x(:,1),x(:,2),x(:,3))
plot(t,x)

[ 本帖最后由 咕噜噜 于 2007-6-15 14:53 编辑 ]

yina_111 发表于 2007-6-15 16:22

回复 #29 咕噜噜 的帖子

非常感谢你的指点,
据我分析,我做的那个相图,一个是没有在matlab程序的时间t的允许下,
matlab提示:Warning: Failure at t=6.276393e+001.Unable to meet integration tolerances without reducing the step size below the smallest value allowed (1.136868e-013) at time t.

相图没有作出来
页: 1 [2] 3 4 5 6 7
查看完整版本: 求教 关于求Lyapunov指数判断混沌现象