程序一 function dx=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; function lambda_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; %最小相点距离 av g_dd = 0; Y=reconstitu tion(data,N,m,tau ); %相空间重构 M=N-(m-1)*tau ; %重构相空间中相点的个数 for i = 1 : (M-1) for j = i+1 : M d = 0; for k = 1 : m d = d + (Y(k,i)-Y(k,j))*(Y(k,i)-Y(k,j)); end d = sqrt(d); if max _d < d max _d = d; end if min_d > d min_d = d; end av g_dd = av g_dd + d; end end av g_d = 2*av g_dd/(M*(M-1)); %平均相点距离 dlt_eps = (av g_d - min_d) * 0.02 ; %若在 min_eps~max _eps 中找不到演化相点时,对 max _eps 的放宽幅度 min_eps = min_d +...