cqupenghao 发表于 2010-8-23 09:40

小数据量法的一些问题请教

请大家帮我看一下下面的程序,这是小数据量法求最大Lyapunov指数的程序,我想问问里面那个delt_t是什么意思?怎么取?
function lambda_1=largest_lyapunov_exponent(data,N,m,tau,P)
%the function is used to calcultate largest lyapunov exponent with the
%mended algorithm,which put forward by lv jing hu.
%data:the time series
%N:the length of data
%m:enbedding dimention
%tau:time delay
%P:the mean period of the time series,calculated with FFT
%lambda_1:return the largest lyapunov exponent
%skyhawk
data=[

];

N=length(data);
P=38;
m=5;
tau=3;
delt_t=1;
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;
    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
%   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
            d_j_i=d_j_i+(Y(kk,j+k)-Y(kk,idx_j+k))*(Y(kk,j+k)-Y(kk,idx_j+k));
            d(k,j)=d_j_i;
      end
    end
end

%对每个演化时间步长i,求所有的j的lnd(i,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
    y(i)=y_s/(q*delt_t);
end
x=1:length(y);
y
pp=polyfit(x,y,1);
lambda_1=pp(1);
yp=polyval(pp,x);
plot(x,y,'-o',x,yp,'--')

gghhjj 发表于 2010-11-12 15:01

delt_t为时间写序列的采样间隔,怎么去就不用说了吧

youxue 发表于 2010-12-7 11:21

是不是采集时间序列时的采样间隔啊

pktm 发表于 2011-1-23 20:15

请问一下 小数据量法 到底要求使用数据范围是多少数据才准确啊

octopussheng 发表于 2011-1-26 18:52

不一定的,根据你数据情况定。
一般500左右吧。
页: [1]
查看完整版本: 小数据量法的一些问题请教