精华内容
下载资源
问答
  • Lyapunov指数计算

    2013-12-18 16:02:31
    Lyapunov指数计算详细程序,很有用!
  • 以典型的Lorenz系统为例,分别计算Lorenz混沌吸引子的Lyapunov指数谱或者最大Lyapunov指数,比较各种方法的计算精度、计算复杂度,并且对含噪声的混沌时间序列给出Lyapunov指数计算结果,比较各种抗干扰能力。...
  • 对此, 提出一种基于支持向量机回归的Lyapunov 指数计算方法, 通过量子遗传算法对支持向量机模型的 参数进行优化, 推导了支持向量机回归应用于计算Lyapunov 指数的公式. 通过对混沌序列进行仿真实验, 仿真结果...
  • lyapunov指数计算方法

    2011-04-24 16:21:18
    lyapunov指数计算常用方法,包括定义法、小数据量法、正交法、wolf法,以lorenz系统为例,有详细的说明,都经过调试,可以直接使用
  • 干摩擦刹车系统的自激振动和Lyapunov指数计算,丁千,李博 ,本文将非光滑动力系统Lyapunov指数的数值计算方法应用于一类刹车系统模型。结合数值仿真,分析随着摩擦盘速度减小,切向静平衡状态�
  • 最大Lyapunov指数计算

    2017-07-27 20:18:03
    用来计算最大Lyapunov指数,主要用于分析相空间重构,利用wolf算法
  • matlab编写的Lyapunov指数计算程序
  • Lyapunov指数的Matlab计算程序
  • lyapunov指数计算程序

    2015-02-03 21:27:50
    Lyapunov exponent calcullation for ODE-system,This function is a part of MATDS program - toolbox for dynamical system investigation
  • 1.logistic映射及Lyapunov指数计算 问题描述: Logistic映射: Lyapunov指数是描述混沌现象的一个重要指标,一个映射的Lyapunov指数 的计算公式如下: 显然, 当 =0,映射进行周期运动; >0,映射处于混沌...
    </pre><pre name="code" class="html">
    

    1.logistic映射及Lyapunov指数计算

    问题描述:

    Logistic映射:

    Lyapunov指数是描述混沌现象的一个重要指标,一个映射的Lyapunov指数 的计算公式如下:



    显然,

    <0,映射收敛于某一点;

    =0,映射进行周期运动;

    >0,映射处于混沌状态;

     

    要求:取参数α=3:0.1:4,迭代初值x(0)=0.1,计算Logistic映射的Lyapunov指数,并做可视化呈现。



    clear;clc;
    
    n=10000;
    a=3:0.001:4;   %这里取了0.001,比原题的更精细
    len=length(a);
    a=reshape(a,len,1);
    sum=zeros(len,1);
    unit=ones(len,1);
    x=unit*0.1;
     
    for i=1:n
        y=a.*(unit-2*x);
        sum=sum+log(abs(y));
        x=a.*x.*(unit-x);
    end
    lamuda=sum/1000;%根据评论修改过
    plot(a,lamuda)
    grid on
     
    xlabel('\fontsize{16}a')
    ylabel('\fontsize{16}Lyapunov\fontname{隶书}指数\lambda')
     
    title('\fontsize{16}a\fontname{隶书}指数Lyapunov\fontname{隶书}指数的关系曲线')

    2.读取一幅图像,利用混沌系统的伪随机特性对图像进行加密解密算法设计并实现之。


    format short
    %A=imread('23.bmp'); %A是原图像的序列
    A=rand(30,30)*100-50;
    %由于读取的图像太大,运行起来耗时太长,用随机序列代替原图像!!!
    F=A;                %F是加密后的序列
    H=F;                %H是解密后的序列
    [m,n]=size(A);      %得到矩阵A的阶数    
    len=m*n;            
    C=reshape(A',1,len);    %C是由原图像得到的一维数组
    D=1:m*n;            %生成一维自然数组
    a=3.601;            %取logistic映射的参数a
    x=ones(1,len)*0.1;  %设定logistic进行len次迭代后得到的序列,设初始值为0.1
    
    % % 利用logistic映射生成伪随机序列。
    for i=2:len
        x(i)=a*x(i-1)*(1-x(i-1));
    end
    
    y=[x;D];
    
    %利用冒泡排序法进行排序
    for i=1:len-1
        flag=0;
        for j=1:len-i
            
            if y(1,j)>y(1,j+1)
                temp=y(:,j);
                y(:,j)=y(:,j+1);
                y(:,j+1)=temp;
                flag=1;
            end
        end
        if(~flag)    %结束条件
            break;
        end
    end
     E=C;   
    %-------------------------------------------加密--------------- 
     %按规则得到加密序列E
    for i=1:len
        E(i)=C(y(2,i));
    end
    
    %由加密序列E得到加密图像F
    for i=1:m
        for j=1:n
            F(i,j)=E((i-1)*m+j);
        end
    end
    
    
    %-------------------------------------------解密---------------
    
    %按规则得到解密序列C
    for i=1:len
        C(y(2,i))=E(i);
    end
    %由解密序列C得到解密图像H    
    for i=1:m
        for j=1:n
            H(i,j)=C((i-1)*m+j);
        end
    end
    %----------------------------------H为解密后的图像----------
    
    
    colormap(gray(2));  %设定灰度
    %在图中显示出:原图像、加密后的图像、解密后的图像
    subplot(1,3,1);
    image(A);
    subplot(1,3,2);
    image(F);
    subplot(1,3,3);
    image(H);   
    


    上述加密解密的方法需要进行排序,倘若读取原图像的矩阵较大的话,花费的时间会太久。

    下面介绍一种通过按位异或的方法,进行加密解密。


    <span style="font-family: Arial, Helvetica, sans-serif;"></span><pre name="code" class="html">format short
    A=imread('23.bmp'); %A是原图像的序列      此处读取的图像应该在matlab当前路径下
    F=A;                %F是加密后的序列    预先给加密解密分配空间
    H=F;                %H是解密后的序列
    [m,n]=size(A);      %得到矩阵A的阶数    
    len=m*n;           
    a=3.601;            %取logistic映射的参数a
    x=ones(m,n)*0.1;   %设定logistic进行len次迭代后得到的序列,设初始值为0.1
    % % 利用logistic映射生成伪随机序列。
    for i=2:len
        x(i)=a*x(i-1)*(1-x(i-1));
    end
    u=floor(x*10);	%对得到的伪随机序列扩大十倍后向下取整
    F=bitxor(A,u);  %将原图像序列A与伪随机序列u进行按位异或    得到加密的序列F
    H=bitxor(F,u);<span style="white-space:pre">	</span>%对被加密的序列F  与伪随机序列u进行按位异或   得到解密后的序列
    H=logical(H);<span style="white-space:pre">	</span>%此处将F、H 转化为逻辑序列
    F=logical(F);
    colormap(gray(2));  %设定灰度
    %在图中显示出:原图像、加密后的图像、解密后的图像
    subplot(1,3,1);
    image(A);
    subplot(1,3,2);
    image(F);
    subplot(1,3,3);
    image(H);   
        

    
    





    展开全文
  • 包含Lyapunov指数计算(wof方法)、平均时间周期P、相空间重构、相点距离。
  • matlab编写的Lyapunov指数计算程序汇总申明:以下各程序为个人在网络上收集的Lyapunov指数计算程序,未经过验证,不保证程序的正确性和计算结果的正确性,请大家见谅,也欢迎大家探讨!目录一、计算连续方程Lyapunov...

    matlab编写的Lyapunov指数计算程序汇总

    申明:以下各程序为个人在网络上收集的Lyapunov指数计算程序,未经过验证,不保证程序的正确性和计算结果的正确性,请大家见谅,也欢迎大家探讨!

    目录

    一、计算连续方程Lyapunov指数的程序

    二、wolf 方法计算李雅普诺夫指数

    三、小数据量法计算Lyapunov指数的 Matlab 程序

    四、C-C方法计算时间延迟和嵌入维数计算Lyapunov指数计算关联维数混沌时 间序列预测

    五、计算各种混沌系统李雅普洛夫指数的MATLAB源程序

    六、二维Henon映射的Lyapunov指数的计算

    一、计算连续方程Lyapunov指数的程序,比较好用的

    其中给出了两个例子:计算Rossler吸引子的Lyapunov指数计算超混沌Rossler吸引子的Lyapunov指数HYPERLINK "/downloads39/sourcecode/math/detail132231.html"/downloads39/sourcecode/math/detail132231.html

    基于Volterra滤波器混沌时间序列多步预测----------------------------------------------参考文献:1、张家树.混沌时间序列的Volterra自适应预测.物理学报.2000.032、Scott C.Douglas, Teresa H.-Y. Meng, Normalized Data Nonlinearities for

    LMS Adaptation. IEEE Trans.Sign.Proc. Vol.42 1994 ----------------------------------------------文件说明:1、original_MultiStepPred_main.m 程序主文件,直接运行此文件即可2、original_train.m 训练函数3、original_test.m 测试函数4、LorenzData.dll 产生Lorenz离散序列5、normalize_1.m 归一化6、PhaSpaRecon.m 相空间重构7、PhaSpa2VoltCoef.m 构造 Volterra 自适应 FIR 滤波器的输入信号矢量 Un8、TrainTestSample_2.m 将特征矩阵前 train_num 个为训练样本,其余为测试样本9、FIR_NLMS.dll NLMS自适应算法HYPERLINK "/downloads45/sourcecode/math/detail150408.html"/downloads45/sourcecode/math/detail150408.html

    recnstitution重构相空间,在非线性系统分析中有重要的作用

    MATLAB程序如下:

    function [Texp,Lexp]=lyapunov(n,tstart,stept,tend,ystart,ioutp);

    global DS;

    global P;

    global calculation_progress first_call;

    global driver_window;

    global TRJ_bufer Time_bufer bufer_i;

    %

    % Lyapunov exponent calcullation for ODE-system.

    %

    % The alogrithm employed in this m-file for determining Lyapunov

    % exponents was proposed in

    %

    % A. Wolf, J. B. Swift, H. L. Swinney, and J. A. Vastano,

    % "Determining Lyapunov Exponents from a Time Series," Physica D,

    % Vol. 16, pp. 285-317, 1985.

    %

    % For integrating ODE system can be used any MATLAB ODE-suite methods.

    % This function is a part of MATDS program - toolbox for dynamical system investigation

    % See: http://www.math.rsu.ru/mexmat/kvm/matds/

    %

    % Input parameters:

    % n - number of equation

    % rhs_ext_fcn - handl

    展开全文
  • 在小数据量法的基础上,采用非线性最小二乘法估算含噪声多变量混沌时间序列的最大Lyapunov指数(λ1).首先介绍了小数据量法求解λ1的原理,然后给出了非线性最小二乘法估算λ1的算法原理和具体实现步骤,最后将该方法...
  • lyapunov_wolf.m lyapunov_wolf.m lyapunov_wolf.m lyapunov_wolf.m lyapunov_wolf.m
  • 这个程序保证没有错,看了其他人上传的,都不能运行,这个工具可以进行计算Lyapunov指数,并且有三个例子,点击main函数就可以直接运行
  • 这是我在网上下载的一个Lyapunov指数计算的四种方法,有需要的可以参考下
  • 计算Lyapunov指数

    2011-06-10 10:33:44
    matlab程序,用来计算Lyapunov指数,以Rossler吸引子为例
  • 很好的求lyapunov的指数的方法,% 计算Rossler吸引子的Lyapunov指数 % 2004.10.20 zya %
  • 论文研究-基于组合策略的Lyapunov指数谱的计算.pdf, 分析了基于BP神经网络模型的Lyapunov指数计算法存在的不足,提出了一种新的基于组合策略的混沌时间序列Lyapunov...
  • 以非线性时间序列最大Lyapunov指数的计算为主线,分别使用相空间重构技术、C-C方法的延迟时间和嵌入维数估计、Wolf法最大Lyapunov指数计算,提出了用均值优化最大Lyapunov指数的方法,并针对正常心音、二尖瓣不全、心音...
  • lyapunov指数

    2011-12-12 16:03:02
    计算系统lyapunov指数,各种混沌系统
  • 球面对称动力系统Lyapunov指数的两种计算方法
  • 论文研究-基于神经网络的Lyapunov指数谱的计算.pdf, 利用 BP神经网络的非线性函数逼近能力 ,由实验观察数据列计算系统的 Lyapunov指数谱 .实例计算表明 ,此种方法精度较...
  • Lyapunov指数是混沌动力学系统的重要不变量.用基于前馈神经网络的自适应快速学习算法计算混沌动力学系统的全部Lyapunov指数.结果表明,本算法在有限的样本点及出现外部噪声的情况下,是非常可靠的.
  • 在此基础上,给出了Lyapunov指数的数值计算方法,并通过对具体的树形和非树形多体系统进行Lyapunov指数数值计算,结合相图和Poincare映射对系统的动力学特性进行了分析,表明了该方法的可行性和有效性。
  • 通过对所测发电机组转子在3种不同工作状态下的时间序列进行的最大Lyapunov指数计算,并结合对这3种状态相轨迹图进行的分析和研究,发现发电机转子在不同工作状态下其时间序列的Lyapunov指数具有明显差异。...
  • 利用Wolf方法计算Lyapunov指数的fortran程序,系统表现为常微分方程组。
  • 基于轨迹的Lyapunov指数计算原理及在人体运动学中的应用 Lyapunov基本概念 Lyapunov指数能够通过测量相邻轨迹收敛或分离的速率来衡量混沌的状态,Lyapunov指数越大,表明系统局部稳定性越差。 求解Lyapunov指数的...

    基于轨迹的Lyapunov指数计算原理及在人体运动学中的应用

    Lyapunov基本概念

    Lyapunov指数能够通过测量相邻轨迹收敛或分离的速率来衡量混沌的状态,Lyapunov指数越大,表明系统局部稳定性越差。

    求解Lyapunov指数的方法主要分为两大类,一类是基于微分方程的算法,另一类是基于轨迹的算法。就人体运动学分析而言,我们往往对采集的时间序列求解Lyapunov指数,系统的微分方程式未知的,因此本文主要介绍的是基于轨迹的算法。

    求解Lyapunov指数相关参数

    重构空间维数(Embedding dimension) m 和时间延迟(Time Lag) T 是最重要的两个参数。由于存在 m 个空间维数,因此存在 * m* 个Lyapunov指数,但最大的Lyapunov指数能够决定局部稳定性的大小。

    (1)如何选择合适的重构空间维数

    空间维数m如果低于实际系统的维度,会使得系统状态空间的信息丢失;如果所选择的的空间维数m过大,会增加噪声对于当前数据的影响,是在信噪比比较小的情况下该现象尤为明显。

    目前确定重构空间维数的方法为假近邻法(False Nearest Neighbor,FNN),该方法的名称很形象,即通过不断提高维度来确定两组数据是否真正相邻(让我想到了三体里面从高维空间观察我们所生活的三维空间)。实际操作时首先计算 m 维度下所有向量之间的欧氏距离 dmd_{m},再计算 m+1 维度下的欧氏距离 dm+1d_{m+1},计算时对同一起始点进行计算,只是维数不相同,再利用公式判断是否相邻。

    通用判断公式为:

    dm+1dmdm&gt;Rtol\frac{d_{m+1}-d_{m}}{d_{m}}&gt;R_{tol}, Rtol=15R_{tol}=15

    对于较小的数据集判断公式更正为:

    dm+1dmσ&gt;Atol\frac{d_{m+1}-d_{m}}{\sigma}&gt;A_{tol}, Atol=2A_{tol}=2

    其中σ\sigmam 维度下欧氏距离 dmd_{m} 的标准差

    绘制所有 m 维度下的 FnTn\frac{F_{n}}{T_{n}} ,曲线其中 FnF_{n} 虚假临近点个数, TnT_{n} 为真实临近点个数,当比值接近零时,即为真实的状态维度 m

    (2)如何选择合适的时间延迟T

    如果所选择的时间延迟 T 数值过小,那么 XtXt+TX_{t}和X_{t+T} 所提供的信息是十分相似的,该状态并未提供新的信息;如果时间延迟 T 数值过大,那么 XtXt+TX_{t}和X_{t+T} 是高度独立的,即在它们之间的大量信息丢失了,因此需要找到合适的时间延迟 T,使得构造的状态空间能够不重复地提供所有信息。

    利用时间序列的相关性来确定最合适的时间延迟 T相关系数常被用于实值随机变量以及线性关系,但互信息则不局限于此。目前的论文中相关系数和互信息都被用作确定时间延迟 T,下面对两种方法都进行介绍。

    1. 相关系数

    r(k)=COV(X,Y)D(XD(Y)=i=1Nk(xix)(xi+kx)i=1N(xx)2r(k)=\frac{COV(X,Y)}{\sqrt{D(X}\sqrt{D(Y)}}=\frac{\sum_{i=1}^{N-k}(x_{i}-\overline{x})(x_{i+k}-\overline{x})}{\sum_{i=1}^{N}(x-\overline{x})^{2}}

    根据上述公式,绘制r(k)&T曲线,当相关系数 r(k)r(k)低于1/e或者等于0时,确定为时间延迟T。

    1. 互信息

    I(k)=P(x,y)logP(x,y)P(x)P(y)dxdy=P(xi,xi+k)logP(xi,xi+k)P(xi)P(xi+k)I(k)=\int\int{P(x,y)log\frac{P(x,y)}{P(x)P(y)}}dxdy=\sum\sum{P(x_{i},x_{i+k})log\frac{P(x_{i},x_{i+k})}{P(x_{i})P(x_{i+k})}}

    与前文的熵的公式相对应,可知 I(x,y)=H(x)H(xy)=H(y)H(yx)I(x,y)=H(x)-H(x|y) =H(y)-H(y|x),互信息能够体现非线性的相关关系。绘制互信息 I(k)I(k) & mm 之间的曲线,将第一个最低点的横坐标作为时间延迟T

    Lypunov指数计算算法

    1. 算法原理

    设在初始时刻t0t_{0}两初始点之间的距离为 dtd_{t},经过时间 tt后两点之间的距离变为 dtd_{t},已知 dteλtd0d_{t}\approx e^{\lambda t}d_{0},两边同时取对数有 logdt=λt+logd0log d_{t}= \lambda t + log d_{0},因此绘制logdtlog d_{t}&tt曲线,曲线的斜率即为lyapunov 指数。

    目前常用的基于轨迹的Lyapunov指数计算方法包括Wolf算法和Rosenstein算法,Rosenstein算法相对于Wolf算法更适用于小数据样本,计算量较小,易编程实现,且能够计算所有Lyapunov 指数,下面对两种方法分别进行介绍。

    2. Wolf算法

    1. 利用重构空间 m 和时间延迟 T 构造所有向量
    2. 针对于初始点 t0t_{0} ,找到其最近的点,计算此时两点之间的距离 L0L_{0}
    3. 经过时间 t 后,两点之间的距离变为 L1L_{1}
    4. 为了保证两轨迹不会迅速收敛和发散,设定距离阈值 SCALMAXSCALMAX 和方向阈值角度 θ\theta ,在满足这两个条件下重新寻找近邻点,距离为 L1{L_{1}}&#x27;
    5. 重复步骤 (3)(4) 直至完成整个时间序列
    6. 利用如下公式计算最大lyapunov指数

    λ=1tMt0k=1k=Mlog2Ltklog2Ltk\lambda =\frac{1}{t_{M}-t_{0}}\sum_{k=1}^{k=M}{\frac{log_{2}{L^{&#x27;}{t_{k}}}}{log_{2}{L}{t_{k}}}}

    3. Rosenstein算法

    1. 利用重构空间 m 和时间延迟 T 构造所有向量
    2. 针对于时刻 tit_{i} 的初始点 ii,找到其最近的点
    3. 经过时间 kΔtk\Delta t 后上述两点之间的距离变为 dk(i)d_{k}(i)
    4. 针对与整个时间序列,重复步骤 (2)(3) ,计算平均距离 dk\overline{d}_{k}

    dk=1Mi=1i=Mdki\overline{d}_{k}=\frac{1}{M}\sum_{i=1}^{i=M}d_{k}i

    1. 重复步骤 (3)(4) 得到不同时间差 kΔtk\Delta t 下对应的平均距离dk\overline{d}_{k}
    2. 绘制 lndkln\overline{d}_{k} & kΔtk\Delta t 曲线
    3. 采用最小二乘方法对曲线的直线段进行拟合,得到的斜率即为最大 Lyapunov 指数

    Lyapunov指数在人体运动学分析中的应用

    在人体运动学分析中,可直接对人体各个位置的加速度信号求解Lyapunov指数,从而确定人体运动的局部稳定性。

    ---------------------待补充-----------------------------------------------------

    展开全文
  • 在分析常用的计算最大Lyapunov指数小数据量法的基础上,研究了混沌吸引子时间轨道的不可逆特性,提出基于后向搜索和双向搜索计算最大Lyapunov指数的推广小数据量法通用经验公式。数值仿真表明,新方法比原来仅做前向...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 206
精华内容 82
关键字:

lyapunov指数计算