不好意思的说我没用过,但是你的微分方程来看用ode45应该是可以的
或者无水帮你看看吧
纯粹从Lyapunov指数可以判断混沌问题,但是你要确保你的Lyapunov指数是正确地 这个是LE指数,我是想看一下你说不是混沌的那个混沌相图!
回复 #20 无水1324 的帖子
在16楼回复 #21 yina_111 的帖子
那个是相图还是什么?回复 #19 咕噜噜 的帖子
我不知道求解LE指数,除了用matlab求解
还有其他方法吗?
做了几次,都是这样的,如果手动去算,难度很大,况且手动去做,我也不会。
回复 #23 yina_111 的帖子
你的完全错了:1、检查方程是否书写错误;
2、算法问题,你的方程的解已经不稳定了,误差已经太大了。是否是刚性的?
3、你算的LE指数应该也是有问题的! 我的感觉和无水差不多,你用LE求解器求也不能说错,但是有些的确不适合用LE求解器求解的
你画的是什么图你不清楚吗?时间的位移响应,速度还是加速度响应,或者是相图还是poincare映射还是什么?
能不能给我解释一下你的公式里面没有给出值的例如s的含义
[ 本帖最后由 咕噜噜 于 2007-6-15 10:34 编辑 ]
回复 #24 无水1324 的帖子
方程没有错误,我把方程的系数,作一个很小的调整后,系统就变成周期的了
所求LE指数,应该没有问题,
我想是不是有个指数的值太小了,都-135.442了,导致出现这样的结果?
[ 本帖最后由 yina_111 于 2007-6-15 10:42 编辑 ] 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));
你的参数有问题,我编了上面的程序但是得不到一个非平凡解
回复 #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 编辑 ] ^_^,那你这个图就有的分析了啊
因为他不是非线性里面一般求解的有一定象征意义的图
判断混沌多用相图和poincare映射图
回复 #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 编辑 ]
回复 #29 咕噜噜 的帖子
请问poincare映射图怎么画呢
我就会用相图,和LE指数判断 程序有一定的问题
如果是画相图,你这里对应的就是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 编辑 ]
回复 #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.
相图没有作出来