声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

楼主: yina_111

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

[复制链接]
发表于 2007-6-15 16:25 | 显示全部楼层

回复 #30 yina_111 的帖子

检查你的参数,编成我那个写的没有问题,就是得不到一个非平凡解
回复 支持 反对
分享到:

使用道具 举报

 楼主| 发表于 2007-6-15 17:38 | 显示全部楼层

回复 #31 无水1324 的帖子

你的那个程序,是不是有点问题啊
我又做了一个lorenzeq系统,它是典型的混沌系统

程序如下

function xdot=lorenzeq(t,x)
xdot=[-8/3*x(1)+x(2)*x(3);
    -10*x(2)+10*x(3);
     -x(1)*x(2)+28*x(2)-x(3)];

t_final=100;x0=[0;0;1e-10];
[t,x]=ode45('lorenzeq',[0,t_final],x0);
plot(t,x),
figure;plot(x(:,1),x(:,2)),
figure;plot(x(:,1),x(:,3)),
figure;plot(x(:,2),x(:,3)),
figure;plot3(x(:,1),x(:,2),(x:,3));

这个系统的x(1)与x(2)之间的相图是可以画出来的

我用你给我的那个程序
也是解不出来的
你确定是plot(t,x(1))???
发表于 2007-6-15 18:44 | 显示全部楼层

回复 #32 yina_111 的帖子

不好意思,写错了应该是plot(t,x(:,1))
发表于 2007-6-15 18:47 | 显示全部楼层
你的系统跟lorenzeq系统差别很大,我画了一下图,对初值非常敏感
 楼主| 发表于 2007-6-15 19:45 | 显示全部楼层

回复 #34 无水1324 的帖子

是啊,我的这个系统对初值很敏感,差一点,得到的结果差别很大,
我现在也搞不清楚,是怎么回事了

有篇论文,chaos versus noisy periodicity:alternative hypotheses for childhood
epidemics 我是照着里面所建立的模型和参数设定的,还有一些文章,参数也是这么设定的,他们都说是有混沌现象的,只是他们的方法我不会验证
发表于 2007-6-15 20:09 | 显示全部楼层
好的,你把文章发到我的邮箱去。csyd5053@yahoo.com.cn
我看看,初值敏感很不好做
 楼主| 发表于 2007-6-15 20:28 | 显示全部楼层

回复 #36 无水1324 的帖子

文章发到你邮箱里了,请查收!
发表于 2007-6-15 21:32 | 显示全部楼层
已经收到了,那个方程是四维的,而且那个相图很怪的三个坐标一样,只是差一个周期T ,我明天再看一下,现在还没有看懂!
发表于 2007-6-16 06:20 | 显示全部楼层
程序和结果应该都没什么问题,看看我得到的结果

s的时间历程:
fig1.JPG

e的时间历程
fig2.JPG

i的时间历程
fig3.JPG

s-i相图
fig4.JPG

s-e-i相图

[ 本帖最后由 gghhjj 于 2007-6-16 07:01 编辑 ]
fig5.JPG
发表于 2007-6-16 06:21 | 显示全部楼层
上述结果在搂主的程序上做一下简单的修改就可以了
  1. function xdot=SEIR(t,x)
  2. b=0.02;a=35.84;r=100;b0=1800;b1=0.28;
  3. xdot=[b-b*x(1)-b0*(1+b1*cos(2*pi*t))*x(1)*x(3);
  4.     b0*(1+b1*cos(2*pi*t))*x(1)*x(3)-(a+b)*x(2);
  5.      a*x(2)-(r+b)*x(3)];
复制代码
  1. t_final=200;x0=[0.04334;5.4865e-004;1.9116e-003];
  2. [t,x]=ode23('SEIR',[0,t_final],x0);
  3. plot(t(500:end),x(500:end,1)),
  4. figure;plot(t(500:end),x(500:end,2)),
  5. figure;plot(t(500:end),x(500:end,3)),
  6. figure;plot(x(500:end,1),x(500:end,3)),
  7. figure;plot3(x(500:end,1),x(500:end,2),x(500:end,3))
复制代码

[ 本帖最后由 gghhjj 于 2007-6-16 06:58 编辑 ]
发表于 2007-6-16 06:21 | 显示全部楼层
大家得到对初值的敏感性问题只是因为画图时选取的点不对造成的
取收敛后的结果,不存在这一问题

[ 本帖最后由 gghhjj 于 2007-6-16 07:02 编辑 ]
发表于 2007-6-16 07:46 | 显示全部楼层


poincare图
  1. t_final=2000;x0=[0.04334;5.4865e-004;1.9116e-003];
  2. [t,x]=ode23('SEIR',[0:1:t_final],x0);
  3. figure;plot3(x(50:end,1),x(50:end,2),x(50:end,3),'.')
复制代码
p.JPG
 楼主| 发表于 2007-6-16 08:17 | 显示全部楼层
太感谢你了,
不过能给我讲一下
plot(t(500:end),x(500:end,1)), 里面的x(500:end,1))是什么意思吗?
由s-i的相图和poincare图,能说明这个系统具有混沌现象吗?

怎么看都不太像啊,还有要是把你给出来的那个程序里面的ode23改成ode45就得不到你给出来的结果了

高人请指教

[ 本帖最后由 咕噜噜 于 2007-6-16 08:32 编辑 ]

评分

1

查看全部评分

发表于 2007-6-16 08:36 | 显示全部楼层
1.x(500:end,1))
是指从x的第500个点开始直到结尾的数据,换句话来说就是舍去了前面没收敛部分的数据

2. ode23换ode45也是可以的
但是由于ode45精度比较高必须在更细的时间区间才能得到结果,但是对于你这个问题,由于到了系统默认设置的时间区间还是不能达到精度要求,因此出错

3. 放大庞加莱图可以看出系统是浑沌的

评分

1

查看全部评分

发表于 2007-6-16 08:59 | 显示全部楼层

回复 #40 gghhjj 的帖子

谢谢!gghhjj,但是你那个初值是怎么选取的我还是没有看懂?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-11 06:06 , Processed in 0.069160 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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