预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

程序一 functiondx=Lorenz(t,x);dx(1,1)=10*(x(2)-x(1));dx(2,1)=x(1)*(30-x(3))-x(2);dx(3,1)=x(1)*x(2)-8/3*x(3);dx(4,1)=0;dx(5,1)=0;dx(6,1)=0;functionlambda_1=lyapunov_wolf1(data,N,m,tau,P)%该函数用来计算时间序列的最大Lyapunov指数--Wolf方法%m:嵌入维数%tau:时间延迟%data:时间序列%N:时间序列长度%P:时间序列的平均周期,选择演化相点距当前点的位置差,即若当前相点为I,则演化相点只能在|I-J|>P的相点中搜寻%lambda_1:返回最大lyapunov指数值%**************************************************************************%ode计算整数阶系统的时间序列%******************************************************************delt_t1=0.001;t1=0:delt_t1:60;[tt1,y1]=ode45(@lorenz,t1,[-1,0,1]);xx1=y1(:,1)';x1=spline(tt1,xx1,t1);data=x1(20000:10:60000);%采样N=length(data);m=3;tau=11;%*****************************************************%FFT计算平均周期%**********************************************************x=data;xPower=abs(fft(x)).^2;NN=length(xPower);xPower(1)=[];%去除直流分量NN=floor(NN/2);xPower=xPower(1:NN);freq=(1:NN)/NN*0.5;[mP,index]=max(xPower);P=index;%*************************************************************min_point=1;%&&要求最少搜索到的点数MAX_CISHU=5;%&&最大增加搜索范围次数%FLYINGHAWK%求最大、最小和平均相点距离max_d=0;%最大相点距离min_d=1.0e+100;%最小相点距离avg_dd=0;Y=reconstitution(data,N,m,tau);%相空间重构M=N-(m-1)*tau;%重构相空间中相点的个数fori=1:(M-1)forj=i+1:Md=0;fork=1:md=d+(Y(k,i)-Y(k,j))*(Y(k,i)-Y(k,j));endd=sqrt(d);ifmax_d<dmax_d=d;endifmin_d>dmin_d=d;endavg_dd=avg_dd+d;endendavg_d=2*avg_dd/(M*(M-1));%平均相点距离dlt_eps=(avg_d-min_d)*0.02;%若在min_eps~max_eps中找不到演化相点时,对max_eps的放宽幅度min_eps=min_d+dlt_eps/2;%演化相点与当前相点距离的最小限max_eps=min_d+2*dlt_eps;%&&演化相点与当前相点距离的最大限%从P+1~M-1个相点中找与第一个相点最近的相点位置(Loc_DK)及其最短距离DKDK=1.0e+100;%第i个相点到其最近距离点的距离Loc_DK=2;%第i个相点对应的最近距离点的下标fori=(P+1):(M-1)%限制短暂分离,从点P+1开始搜索d=0;fork=1:md=d+(Y(k,i)-Y(k,1))*(Y(k,i)-Y(k,1));endd=sqrt(d);if(d<DK)&(d>min_eps)DK=d;Loc_DK=i;endend%以下计算各相点对应的李氏数保存到lmd()数组中%i为相点序号,从1到(M-1),也是i-1点的演化点;Loc_DK为相点i-1对应最短距离的相点位置,DK为其对应的最短距离%Loc_DK+1为Loc_DK的演化点,DK1为i点到Loc_DK+1点的距离,称为演化距离%前i个log2(DK1/DK)的累计和用于求i点的lambda值sum_lmd=0;%存放前i个log2(DK1/DK)的累计和fori=2:(M-1)%计算演化距离DK1=0;fork=1:mDK1=DK1+(Y(k,i)-Y(k,Loc_DK+1))*(Y(k,i)-Y(k,