skyear 发表于 2009-5-26 22:14

请教大家,计算duffing方程的LY指数用哪种方法最好呢?

精度要求一般,速度要求快。看到论坛上很多方法 有C-C MEX等等,本人初学,不是很懂,想先找个最适合用来计算duffing方程的方法来学习,谢谢各位的指点。

skyear 发表于 2009-5-29 12:32

顶起,最近这里有点冷啊

无水1324 发表于 2009-5-29 16:30

回复 沙发 skyear 的帖子

有一点吧。每种方法都有一定的优缺点,所以你可以先从定义上来作吧!

skyear 发表于 2009-5-30 14:03

好的,谢谢,就是我不希望通过先通过ODE得到时间序列再根据那些基于时间序列的方法,有可以直接针对模型计算最大LE的方法吗?

siming89 发表于 2011-8-1 10:18

论坛上很多的,搜一些改改就可以了

cqupenghao 发表于 2011-8-1 21:56

求达芬方程以及其他有代表性的吸引子或方程的LE可以用LET工具箱是比较好的,并且速度也很快……

huazi071783 发表于 2011-8-4 21:37

回复 6 # cqupenghao 的帖子

请教,我正在算杜芬方程的最大李雅普诺夫指数,是用小数据量法的轨迹跟踪法计算的,但是算出来很不稳定,不像其他人算出来那么平稳趋于一个值。推荐一个好的方法,我只要计算二维的混沌轨迹的最大LE。我正在做微弱信号检测,其实是想用最大李雅普诺夫指数来判断被检测微弱信号的强度,强度大LE就大。LET工具相哪里有呢?我记得看到过,好像里面牵涉到嵌入维数和延迟,我是初学者不大懂想避开这些,或者推荐别的稳定方法,下面是我算的结果,指教,谢谢
function =lyapunovexp(delt_t,Y,a,R,bata)
% lambda=lyapunov(0.01,Y,3,10,40);
% delt_t=0.01;
% a=3;R=10;
% bata=40;   控制扭曲角度不超过40°
M=length(Y);                               %Y的第1列是横坐标,第2列是纵坐标
date_N1=a/delt_t;                        %限制不是同一条轨迹
date_N2=R/delt_t;                        %限制不是离的很远的轨迹,减少计算量
for i=1:M-100
      num=0;
    for j=1:M-100
      if (abs(j-i)>date_N1)&(abs(j-i)<date_N2)      %寻找相空间中每个点的最近距离点,并记下该点下标
            num=num+1;
            index(num)=j;
            d_s(num)=((Y(j,1)-Y(i,1))^2+(Y(j,2)-Y(i,2))^2)^0.5;   % 求最短距离   
      else
            continue
      end
    end
      =sort(d_s);                           %求最近的临近点
      
    turn=1;
    for l=1:length(ind)
      jj=index(ind(turn));
      d1=((Y(i,:)-Y(jj,:))*(Y(i,:)-Y(jj,:))')^0.5;
      d2=((Y(i+40,:)-Y(jj+40,:))*(Y(i+40,:)-Y(jj+40,:))')^0.5;
      cosine=(Y(jj,:)-Y(i,:))*(Y(jj+40,:)-Y(i+40,:))'/(d1*d2);         %求夹角
%       ind1=0;
      
      evo_length=min(M-i,M-jj);
       if acos(cosine)<bata*pi/180      %限制夹角小于bata
         cc(l)=0;
         for k=1:evo_length         
%                  ind1=ind1+1;
                   D1(k)=((Y(i,:)-Y(jj,:))*(Y(i,:)-Y(jj,:))')^0.5;
                   D2(k)=((Y(i+k,:)-Y(jj+k,:))*(Y(i+k,:)-Y(jj+k,:))')^0.5;
                   lambda1(k)=log(D2(k)/D1(k))/(k*delt_t);
         end
               lambda(i)=mean(lambda1);
       else
         turn=turn+1;   
         continue
       end
       if cc(l)==0
         break
       end
    end
lambdaa=lambda;
end

LE=mean(lambda);

huazi071783 发表于 2011-8-4 21:45

回复 3 # 无水1324 的帖子

请教您老一个问题,请看我回复6楼的问题谢谢,麻烦帮我解决一下,已经困扰我好久了,出不了结果,急啊

cqupenghao 发表于 2011-8-8 08:32

回复 7 # huazi071783 的帖子

你好,LET工具箱我有,另外我在论坛里面一发了个帖子共享了的,你可以搜一下就可以找到。据我个人目前的了解,LET工具箱可以计算几个典型吸引子的相关参数,Lyapunov指数还有K熵等,并且不需要自己输入数据,工具箱内部就已经编好了的。如果你想用使其适用于自己的系统的话,那么就需要做相关的修改。
我邮箱:cqupenghao@126
页: [1]
查看完整版本: 请教大家,计算duffing方程的LY指数用哪种方法最好呢?