1 / 12
文档名称:

Lyapunov指数的计算方法.doc

格式:doc   大小:270KB   页数:12页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Lyapunov指数的计算方法.doc

上传人:phl0420371 2019/3/7 文件大小:270 KB

下载得到文件列表

Lyapunov指数的计算方法.doc

文档介绍

文档介绍:【总结】Lyapunov指数的计算方法非线性理论近期为了把计算LE的一些问题弄清楚,看了有7~9本书!下面以吕金虎《混沌时间序列分析及其应用》、马军海《复杂非线性系统的重构技术》为主线,把目前已有的LE计算方法做一个汇总!  连续系统LE的计算方法主要有定义方法、Jacobian方法、QR分解方法、奇异值分解方法,或者通过求解系统的微分方程,得到微分方程解的时间序列,然后利用时间序列(即离散系统)的LE求解方法来计算得到。关于连续系统LE的计算,主要以定义方法、Jacobian方法做主要介绍内容。(1),仅用于个人学****关于定义法求解的程序,和matlab板块的“连续系统LE求解程序”差不多。以Rossler系统为例Rossler系统微分方程定义程序functiondX=Rossler_ly(t,X)%  Rossler吸引子,用来计算Lyapunov指数%      a=,b=,c=%      dx/dt=-y-z,%      dy/dt=x+ay,%      dz/dt=b+z(x-c),a=;b=;c=;x=X(1);y=X(2);z=X(3);%Y的三个列向量为相互正交的单位向量Y=[X(4),X(7),X(10);  X(5),X(8),X(11);  X(6),X(9),X(12)];%输出向量的初始化,必不可少dX=zeros(12,1);%Rossler吸引子dX(1)=-y-z;dX(2)=x+a*y;dX(3)=b+z*(x-c);%Rossler吸引子的Jacobi矩阵Jaco=[0-1-1;      1a  0;      z0  x-c];dX(4:12)=Jaco*Y;求解LE代码:%计算Rossler吸引子的Lyapunov指数clear;yinit=[1,1,1];orthmatrix=[100;          010;          001];a=;b=;c=;y=zeros(12,1);%初始化输入y(1:3)=yinit;y(4:12)=orthmatrix;tstart=0;%时间初始值tstep=1e-3;%时间步长wholetimes=1e5;%总的循环次数steps=10;%每次演化的步数iteratetimes=wholetimes/steps;%演化的次数mod=zeros(3,1);lp=zeros(3,1);%初始化三个Lyapunov指数Lyapunov1=zeros(iteratetimes,1);Lyapunov2=zeros(iteratetimes,1);Lyapunov3=zeros(iteratetimes,1);fori=1:iteratetimes  tspan=tstart:tstep:(tstart+tstep*steps);    [T,Y]=ode45('Rossler_ly',tspan,y);  %取积分得到的最后一个时刻的值  y=Y(size(Y,1),:);  %重新定义起始时刻  tstart=tstart+tstep*steps;  y0=[y(4)y(7)y(10);      y(5)y(8)y(11);      y(6)y(9)y(12)];  %正交化  y0=ThreeGS(y0);  %取三个向量的模  mod(1)=sqrt(y0(:,1)'*y0(:,1));  mod(2)=sqrt(y0(:,2)'*y0(:,2));  mod(3)=sqrt(y0(:,3)'*y0(:,3));  y0(:,1)=y0(:,1)/mod(1);  y0(:,2)=y0(:,2)/mod(2);  y0(:,3)=y0(:,3)/mod(3);  lp=lp+log(abs(mod));  %三个Lyapunov指数  Lyapunov1(i)=lp(1)/(tstart);  Lyapunov2(i)=lp(2)/(tstart);  Lyapunov3(i)=lp(3)/(tstart);      y(4:12)=y0';end%作Lyapunov指数谱图i=1:iteratetimes;plot(i,Lyapunov1,i,Lyapunov2,i,Lyapunov3)程序中用到的ThreeGS程序如下:%G-S正交化functionA=ThreeGS(V)  %V为3*3向量v1=V(:,1);v2=V(:,2);v3=V(:,3);a1=zeros(3,1);a2=zeros(3,1);a3=zeros(3,1);a1=v1;a2=