声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4367|回复: 13

[分形与混沌] 求教:小数据量法求解最大Lyapunov指数

[复制链接]
发表于 2009-1-12 14:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
最大Lyapunov指数的问题困惑我好久了,原本以为可用的程序今天验证了一下才发现得不到想要的结果。

我不知道是我没有正确使用还是程序本身有问题,希望各位高手能够帮帮我

我用的程序是:

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=load('x.txt')
N=5000;
m=8;
tau=10;
P= 60;
delt_t=0.01;


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)平均
[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
    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);
plot(x,y,'-o',x,yp,'--')




function X=reconstitution(data,N,m,tau)
%该函数用来重构相空间
% m为嵌入空间维数
% tau为时间延迟
% data为输入时间序列
% N为时间序列长度
% X为输出,是m*n维矩阵

M=N-(m-1)*tau;%相空间中点的个数
for j=1:M           %相空间重构
    for i=1:m
        X(i,j)=data((i-1)*tau+j);
    end
end

[ 本帖最后由 gurencai 于 2009-1-12 14:25 编辑 ]

x.txt

58.59 KB, 下载次数: 70

chen系统数据

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

 楼主| 发表于 2009-1-12 14:13 | 显示全部楼层

回复 楼主 gurencai 的帖子

我算出来的结果是-4.4618,显然不对。吕金虎在《混沌时间序列分析及其应用》一书中给出的结果是2.08

[ 本帖最后由 gurencai 于 2009-1-12 14:19 编辑 ]
 楼主| 发表于 2009-1-18 14:39 | 显示全部楼层

回复 楼主 gurencai 的帖子

怎么没人回复呢?好郁闷啊
发表于 2009-2-26 10:54 | 显示全部楼层

回复 楼主 gurencai 的帖子

你好,楼主,你的问题解决了吗?可以讨论一下吗QQ50785952
发表于 2009-3-1 11:32 | 显示全部楼层
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
在此处寻找最近点时有问题,改用如下程序试一试:
d_min=1e+100;
    for jj=1:M                                              %寻找相空间中每个点的最近距离点,并记下
            if abs(j-jj)>P  %限制短暂分离
         d_s=dot((Y(:,j)-Y(:,jj),(Y(:,j)-Y(:,jj)) ;   
                    if d_s<d_min
                        d_min=d_s;
                        idx_j=jj;
               end
            end
        end

评分

1

查看全部评分

发表于 2009-3-9 16:51 | 显示全部楼层

回复 楼主 gurencai 的帖子

“x=1:length(y);
pp=polyfit(x,y,1);
lambda_1=pp(1);
yp=polyval(pp,x);
plot(x,y,'-o',x,yp,'--')”
此处不应该用全部的数据进行线性拟合,应该选取线性度最好的一段区域进行拟合
发表于 2009-6-24 21:39 | 显示全部楼层

回复 6楼 yuling 的帖子

你的意思是怎么改写程序?  非常感谢yuling,麻烦你了  帮忙解决
发表于 2009-11-10 13:56 | 显示全部楼层

回复 6楼 yuling 的帖子

在这个程序中怎么选取线性度最好的一段区域进行拟合啊?
我计算LLE的程序也是用的这个,不过感觉算出来的很有问题啊 还希望各位高手指教~
发表于 2010-3-12 23:38 | 显示全部楼层
好东西啊  恳请大家指点
发表于 2014-7-22 16:29 | 显示全部楼层
同问,也被类似问题困扰!
发表于 2014-7-22 16:35 | 显示全部楼层
谁能下载附件中的数据 求一份 谢谢了 43084841@qq.com
发表于 2014-11-14 12:13 | 显示全部楼层
我是菜鸟 毕业论文需要用到才开始学习  选择线性好的一段进行线性拟合后直线的斜率是最大李氏指数么?
发表于 2014-11-14 12:16 | 显示全部楼层
还是与y轴的交点是最大李氏指数  
发表于 2014-11-14 12:18 | 显示全部楼层
或者谁能推荐一下有什么相关的学习书籍或论文  
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-28 13:35 , Processed in 0.095843 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表