资源描述:
《C-C计算延迟时间和嵌入维数4.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、functionlambda_1=lyapunov_wolf(data,N,m,tau,P)%该函数用来计算时间序列的最大Lyapunov指数--Wolf方法%m:嵌入维数%tau:时间延迟%data:时间序列%N:时间序列长度%P:时间序列的平均周期,选择演化相点距当前点的位置差,即若当前相点为I,则演化相点只能在
2、I-J
3、>P的相点中搜寻%lambda_1:返回最大lyapunov指数值min_point=1;%&&要求最少搜索到的点数MAX_CISHU=5;%&&最大增加搜索范围次数%FLYINGH
4、AWK%求最大、最小和平均相点距离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_ddmin_d=d;endavg_dd
5、=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;%第
6、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(dmin_eps)DK=d;Loc_DK=i;endend%以下计算各相点对应的李氏数保存到lmd()数组中%i为相点序号,从1到(M-1),也是i-1点的演化点;Loc_DK为相点i-1对应最短距离的相点位置,DK为其
7、对应的最短距离%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,Loc_DK+1));endDK1=sqrt(DK1);old_Loc_DK=Loc_DK;%保存原最近位置相点old_
8、DK=DK;%计算前i个log2(DK1/DK)的累计和以及保存i点的李氏指数if(DK1~=0)&(DK~=0)sum_lmd=sum_lmd+log(DK1/DK)/log(2);endlmd(i-1)=sum_lmd/(i-1);%以下寻找i点的最短距离:要求距离在指定距离范围内尽量短,与DK1的角度最小point_num=0;%&&在指定距离范围内找到的候选相点的个数cos_sita=0;%&&夹角余弦的比较初值——要求一定是锐角zjfwcs=0;%&&增加范围次数while(point_num=
9、=0)%*搜索相点forj=1:(M-1)ifabs(j-i)<=(P-1)%&&候选点距当前点太近,跳过!continue;end%*计算候选点与当前点的距离dnew=0;fork=1:mdnew=dnew+(Y(k,i)-Y(k,j))*(Y(k,i)-Y(k,j));enddnew=sqrt(dnew);if(dnew10、(dnew>max_eps)%&&不在距离范围,跳过!continue;end%*计算夹角余弦及比较DOT=0;fork=1:mDOT=DOT+(Y(k,i)-Y(
11、k,j))*(Y(k,i)-Y(k,old_Loc_DK+1));endCTH=DOT/(dnew*DK1);ifacos(CTH)>(3.14151926/4)%&&不是小于45度的角,跳过!continue;endifCTH>cos_sita%&&新夹角小于过去已找到的相点的夹角,保留cos_sita=CTH;Loc_DK=j;DK=dnew;endpoint_num=point_num+1;endifpoint_num<