|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
小的有个系统如下:
dx(1)=x(1)*(a11+a12+a13-a11*x(1)-a12*x(2)-a13*x(3));
dx(2)=x(2)*(a21+a22+a23-a21*x(1)-a22*x(2)-a23*x(3));
dx(3)=x(3)*(a31+a32+a33-a31*x(1)-a32*x(2)-a33*x(3));
a11=0.5; a12=0.5; a13=0.1;
a21=-0.5; a22=-0.1; a23=0.1;
a31=1.43; a32=0; a33=0.1;(这些参数值是参考《混沌生物学》第65页的数据)
现在作出了一个该系统的混沌图(x1,x2,x3的相图)如下,我觉得是混沌,本人刚接触这方面,说的不对的请指正。
现在想求当参数a31在区间【1,3】之间变化时,此三维系统的最大lyapunov指数随a31变化的曲线图
看到oct前辈的帖子里(http://forum.vibunion.com/thread-60037-1-1.html) liliangbiao大侠给的程序,想模仿那个程序写一个,可行么?我把该程序存为m文件,但运行时总是报错,请问是为什么呢?我知道这些错误都是很简单的错误,请各位大侠见谅,本人刚刚接触这方面。万分感谢,谢谢谢谢谢。把li大侠的程序贴过来,方便大家看。
global a b c
Z=[];
d0=1e-8;
for a=linspace(32,40,80)
lsum=0;
x(1)=1;x(2)=1;x(3)=1;
x1(1)=1;x1(2)=1;x1(3)=1+d0;
x0=[1,1,1];
x_0=[1,1,1+d0];
for i=1:100
[T1,Y1]=ode45('Chen',1,x0);
[T2,Y2]=ode45('Chen',1,x_0);
n1=length(Y1);n2=length(Y2);
x=Y1(n1,1);y=Y1(n1,2);z=Y1(n1,3);
x1=Y2(n2,1);y1=Y2(n2,2);z1=Y2(n2,3);
d1=sqrt((x-x1)^2+(y-y1)^2+(z-z1)^2);
x1=x+(d0/d1)*(x1-x);
y1=y+(d0/d1)*(y1-y);
z1=z+(d0/d1)*(z1-z);
if i>50
lsum=lsum+log(d1/d0);
end
end
Z=[Z lsum/(i-50)];
end
a=linspace(32,40,80);
plot(a,Z,'-');
title('Chen 系统最大lyapunov指数')
xlabel('parameter a'),ylabel('lyapunov exponents')
%Chen 系统
function xdot = chen(t,x)
%dx/dt=a*(y-x)
%dy/dt=(c-a)*x+c*y-x*z
%dz/dt=x*y-b*z
global a b c
b=3;c=28;
xdot=[ 0,0,0];
xdot(1)=a*(x(2)-x(1));
xdot(2)=(c-a)*x(1)+c*x(2)-x(1)*x(3);
xdot(3)=x(1)*x(2)-b*x(3);
%其中a,b,c是系统参数。当a=35, b=3, c=28 时,Lorenz 系统是混沌的。
存为m文件运行后,报错:
??? Error: File: Untitled6.m Line: 32 Column: 1
Function definitions are not permitted at the prompt or in scripts.
哪位大侠能否给我传个 最大le随参数变化的图谱 的源程序 ,我想学习研究一下。谢谢,麻烦大家了。
eve810@126.com
[ 本帖最后由 meicyeve 于 2009-5-1 22:54 编辑 ] |
|