声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

楼主: yina_111

[分形与混沌] 求教 关于求Lyapunov指数判断混沌现象

[复制链接]
发表于 2007-6-15 10:06 | 显示全部楼层
你用的这个是matlab里面的什么求解器?
不好意思的说我没用过,但是你的微分方程来看用ode45应该是可以的
或者无水帮你看看吧
纯粹从Lyapunov指数可以判断混沌问题,但是你要确保你的Lyapunov指数是正确地
回复 支持 反对
分享到:

使用道具 举报

发表于 2007-6-15 10:11 | 显示全部楼层
这个是LE指数,我是想看一下你说不是混沌的那个混沌相图!
 楼主| 发表于 2007-6-15 10:18 | 显示全部楼层

回复 #20 无水1324 的帖子

在16楼
发表于 2007-6-15 10:21 | 显示全部楼层

回复 #21 yina_111 的帖子

那个是相图还是什么?
 楼主| 发表于 2007-6-15 10:21 | 显示全部楼层

回复 #19 咕噜噜 的帖子

我不知道
求解LE指数,除了用matlab求解
还有其他方法吗?
做了几次,都是这样的,如果手动去算,难度很大,况且手动去做,我也不会。
发表于 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 编辑 ]
46.JPG
 楼主| 发表于 2007-6-15 10:35 | 显示全部楼层

回复 #24 无水1324 的帖子

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

[ 本帖最后由 yina_111 于 2007-6-15 10:42 编辑 ]
发表于 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=[1,1,1];
[t,x] = ode23('dx',[t0,tfinal],x0);
plot(t,x(1));


你的参数有问题,我编了上面的程序但是得不到一个非平凡解
 楼主| 发表于 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映射图
 楼主| 发表于 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=[0.04334;5.4865e-004;1.9116e-003];
[t,x]=ode45('SEIR',[0,t_final],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 编辑 ]
 楼主| 发表于 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=[0.04334;5.4865e-004;1.9116e-003];
[t,x]=ode45(@SEIR,[0,t_final],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 编辑 ]

评分

1

查看全部评分

 楼主| 发表于 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.

相图没有作出来
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-21 16:29 , Processed in 0.074395 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表