|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
为什么时间序列是稳定的,我无论用最小数据量法还是wolf法,求出的李指数都是两个0呢?
按道理说稳态应该是两个负数才对啊 ?
小弟很急切的想知道原因在哪里 跪请各位高手指教!
先谢谢了。
(时序图 和 data值 还有小数据量法程序附后。)我用的是2000个点 去掉前500计算指数
clear
delt_t=1;
data(1:500)=[];% 列向量
data=data(1,:)';
N=length(data);%时间序列长度
dmax=max(abs(data));% 最大离散步进时间
if dmax==0
data=data;
else
data=data/dmax;
end
% 序列平均周期
P=ave_T(data,N);
m=21;% 嵌入维
tau=13;% 时延
Y=reconstitution(data,N,m,tau );%reconstitute state space
M=N-(m-1)*tau;%M is the number of embedded points in m-dimensional space
for j=1:M
d_max=1e+100;
idx_j=2;
for jj=1:M %寻找相空间中每个点的最近距离点,并记下
d_s=0; %该点下标
if abs(j-jj)>P %限制短暂分离
for i=1:m
d_s=d_s+(Y(i,j)-Y(i,jj))*(Y(i,j)-Y(i,jj));
d_min=d_max;
if d_s<d_min
d_min=d_s;
idx_j=jj;
end
end
end
end
%idx_j=30;
% index(j)=idx_j;
max_i=min((M-j),(M-idx_j));%计算点j的最大演化时间步长i
for k=1:max_i %计算点j与其最近邻点在i个离散步后的距离
d_j_i=0;
for kk=1:m-1
d_j_i=d_j_i+(Y(kk,j+k-1)-Y(kk,idx_j+k-1))*(Y(kk,j+k-1)-Y(kk,idx_j+k-1));
d(k,j)=d_j_i;
end
end
end
%对每个演化时间步长i,求所有的j的lnd(i,j)平均
[l_i,l_j]=size(d);
for i=1:l_i
q=0;
y_s=0;
for j=1:l_j
if d(i,j)~=0
q=q+1;
y_s=y_s+log(d(i,j));
end
end
if q==0
q=1;
end
y(i)=y_s/(q*delt_t);
end
x=1:length(y);
pp=polyfit(x,y,1)
lambda_1=pp(1);
yp=polyval(pp,x);
pp
max_ly=max(pp)
数据data如下:
data.txt
(13.7 KB, 下载次数: 4)
[ 本帖最后由 zebtra_stripe 于 2009-12-16 21:37 编辑 ] |
-
|