-Lyapunov指数的计算方法

合集下载

克隆法计算李雅普诺夫指数

克隆法计算李雅普诺夫指数

克隆法计算李雅普诺夫指数李雅普诺夫指数(Lyapunov exponent)是用来衡量动态系统稳定性的一个重要指标。

在混沌理论中,李雅普诺夫指数可以用来预测一个系统对初始条件的敏感性。

克隆法是一种计算李雅普诺夫指数的数值方法。

其基本思想是:对于一个给定的动态系统,我们首先生成两个几乎完全相同的初始条件,然后让它们分别演化。

随着时间的推移,这两个初始条件会逐渐分离,我们可以通过测量它们之间的距离来计算李雅普诺夫指数。

具体步骤如下:
生成两个几乎完全相同的初始条件。

让这两个初始条件分别演化。

计算它们之间的距离。

重复上述步骤多次,并取平均值。

将平均值与时间作图,并求出斜率,即为李雅普诺夫指数。

需要注意的是,克隆法是一种数值方法,其结果会受到初始条件的选择、时间步长的选择等因素的影响。

因此,在使用克隆法计算李雅普诺夫指数时,需要选择合适的参数,并进行多次模拟以获得更准确的结果。

切换系统Lyapunov指数的算法综述

切换系统Lyapunov指数的算法综述

切换系统Lyapunov指数的算法综述
郭建丽;高庆
【期刊名称】《科技信息》
【年(卷),期】2014(000)005
【摘要】Lyapunov指数是衡量系统动力学特性的重要指标.本文针对切换系统,综述了目前常用Lyapunov指数的三种计算方法:庞加莱映射法、时间序列法和混沌同步法.通过分析和比较其特点及优缺点,详细探讨各方法在切换系统中的应用.【总页数】2页(P3-4)
【作者】郭建丽;高庆
【作者单位】重庆邮电大学工业物联网与网络化控制教育部重点实验室,中国重庆400065;重庆邮电大学工业物联网与网络化控制教育部重点实验室,中国重庆400065
【正文语种】中文
【相关文献】
1.条件Lyapunov指数和时间τ-条件Lyapunov指数的研究 [J], 何岱海;徐健学;陈永红;谭宁
2.切换系统的鲁棒二次公共Lyapunov函数矩阵寻找算法 [J], 张晓宇;李平
3.时滞切换系统指数稳定性分析:多Lyapunov函数方法 [J], 丛屾;费树岷;李涛
4.非线性切换系统的振荡行为及其Lyapunov指数计算 [J], 余跃;张春;毕勤胜
5.基于Adomian分解法的分数阶非线性系统的分析及Lyapunov指数算法的实现[J], 雷腾飞;贺金满;王艳玲;臧红岩;黄丽丽;付海燕
因版权原因,仅展示原文概要,查看原文内容请购买。

Lyapunov稳定性理论概述

Lyapunov稳定性理论概述

x e 差任意大,而当a ≺0时, x(t) = 0 at 。与零解的误差不会超过初始误差x0,且随
着t 值的增加很快就会消失,所以,当|x0|很小时,x(t)与零解的误差也很小。
这个例子表明a f 0时的零解是“稳定”的。下面,我们就给出微分方程零解稳
定的严格定义。
设微分方程
R dx
dt
=
f
(t, x) ,
并说它所以重要,是因为它能解决物理学、工程学等方面的问题.我们认为这一
门学科可以相当统一而连贯地进行阐述,常微分方程对于其它学科领域的重要 性,在于它能启发、统一并推进这些学科领域。了解常微分方程与其它学科之问 是如何联系的,对于学生及数学工作者来说,是获得洞察力和启示的一种主要源 泉”。
如果将这段深刻而具有独特见解的话,应用到常微分方程中的Lyapunov稳定 性,可以豪不夸张地说,Lyapunov在常微分方程中首创的稳定性理论和方法,不 仅给人启迪,给人以洞察力,而且给人以智慧,给人以思想,锻炼人分析问题、 解决问题的能力。
这个学期的学习内容很丰富,最使我着迷的是稳定性理论的部分,它帮助我 认识到了稳定性问题的实质和重要性,并让我有机会较为系统的接触到了 Lyapunov方法,以上便是我的一些相关的学习心得总结。
二, Lyapunov稳定性定理
Lyapunov第二法(即直接法)探讨了一个二维自治系统的稳定性,并在这些 原始几何思想的基础之上,经由分析语言的提炼概括,给出了1条稳定性定理,1 条渐近稳定性定理和2条不稳定性定理,这几条定理被誉为稳定性的基本定理, 为稳定性理论奠定了牢固的基础。 1, 稳定性定理
结论正定0该平衡态渐近稳定正定0该平衡态渐近稳定正定0该平衡态稳定但非渐近稳定正定0正定0该平衡态不稳定正定0半正定0且不恒为0对任意非零的初始状态该平衡态不稳定经过艰苦的研究证明学者们发现在上述三种定理中只有lyapunov的渐近稳定性定理不可逆其他定理包括推广的一致稳定一致渐近稳定指数稳定全局指数稳定及不稳定定理等所有定理都是可逆的

lyapunov方程求数值解

lyapunov方程求数值解

lyapunov方程求数值解
Lyapunov方程是控制理论中的一个重要方程,用于求解线性系
统的稳定性。

Lyapunov方程的一般形式为AX + XA^T = -Q,其中A
是系统的状态矩阵,X是要求解的对称正定矩阵,Q是一个对称正定
矩阵。

Lyapunov方程的解决对于确定系统的稳定性和性能至关重要。

要求解Lyapunov方程的数值解,通常可以采用以下方法之一:
1. Schur分解法,这是一种常用的数值方法,它将状态矩阵A
分解为一个正交矩阵和一个上三角矩阵的乘积。

然后,可以将Lyapunov方程转化为一个更容易求解的形式,进而求解X的数值解。

2. 离散时间Lyapunov方程的数值解,对于离散时间系统,可
以利用迭代法或者数值线性代数方法来求解Lyapunov方程的数值解。

3. MATLAB等数学软件,许多数学软件包括MATLAB都提供了专
门用于求解Lyapunov方程的函数或工具箱,可以直接利用这些工具
来求解数值解。

无论采用哪种方法,都需要注意数值解的稳定性和精度,尤其
是在系统维度较大时。

此外,还需要对所得到的数值解进行验证,确保其满足Lyapunov方程的定义和性质。

总之,求解Lyapunov方程的数值解需要结合数值方法和专业工具,以确保得到准确可靠的结果。

常微分方程中的Lyapunov指数

常微分方程中的Lyapunov指数

常微分方程中的Lyapunov指数Lyapunov指数是一种用于研究动力系统稳定性的重要工具。

在常微分方程中,Lyapunov指数可以帮助我们判断一个系统的稳定性,从而可以更好地理解物理现象。

本文将从以下几个方面介绍Lyapunov指数。

一、什么是Lyapunov指数?Lyapunov指数是法国数学家Lyapunov在19世纪末首次引入的一个概念,用于描述动力系统在某一相空间内的稳定性。

Lyapunov指数是一个实数,通常用λ表示,其大小代表了系统的稳定程度。

当λ>0时,系统是不稳定的;当λ<0时,系统是稳定的;当λ=0时,系统处于稳态。

二、如何计算Lyapunov指数?计算Lyapunov指数的方法有很多种,其中最为常用的是Kaplan-Yorke公式。

这种方法需要进行线性化处理,将非线性动力系统转化为线性动力系统。

通常用牛顿迭代法求解微分方程,并对每个时间步长进行雅可比矩阵的计算,从而最终得到系统的Lyapunov指数。

三、Lyapunov指数在物理学中的应用Lyapunov指数在物理学中有着广泛的应用,尤其是在研究混沌现象中。

混沌是指系统发生不可预期的非周期性运动,常常出现在分子动力学、天体力学和流体力学中。

利用Lyapunov指数可以判断混沌现象的发生,从而更好地理解这些物理现象。

四、Lyapunov指数在控制系统中的应用除了在物理学中的应用外,Lyapunov指数还被广泛应用于控制系统中。

在控制系统中,通过计算Lyapunov指数可以判断系统是否稳定,并且可以设计出更好的控制策略。

此外,Lyapunov指数还可以用于描述系统的鲁棒性,即系统对干扰的抵抗能力。

五、Lyapunov指数的局限性尽管Lyapunov指数在控制系统和物理学中有着广泛的应用,但是它也存在一些局限性。

首先,计算Lyapunov指数常常非常复杂,需要耗费大量时间和计算资源。

其次,Lyapunov指数只能用于描述系统局部的稳定性,而不能用于描述全局的稳定性。

基于神经网络的Lyapunov指数谱的计算

基于神经网络的Lyapunov指数谱的计算

(1) 所示系统的全部L yap unov 指数Ζ
α 收稿日期: 1999212221 © 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
10
系统工程理论与实践
2001 年 8 月
从实验观察到的数据确定系统的 L yap unov 指数, 可采用W o lf 方法[3]和 BBA [4]方法等Λ 其中W o lf 方 法仅适用于求系统的最大 L yap unov 指数, BBA 法可求出系统的全部 L yap unov 指数, 但此种方法运算量 很大, 而且需要的数据点很多, 使其应用受到很大限制Λ本文利用B P 神经网络能够任意逼近非线性函数的 性质, 用于求解实验观察数据的全部 L yap unov 指数, 可克服上述困难Λ
A (i)Q (i - 1) = Q (i)R (i)
(16)
式中, Q (i) 为正交矩阵, R (i) 为上三角矩阵, Q (0) 是 d ×d 阶单位矩阵Ζ 按 (16) 式所示过程 Q R 分解 N 次,
得到矩阵 A 的 Q R 分解如下:
A = Q (N ) R (N ) R (N - 1) …R (1)
第8期
基于神经网络的L yap unov 指数谱的计算
11
Χk1 =
5Χ 5x k, 1
,
Χk2
=
5Χ 5x k, 2
,
…,
Χkd
=
5Χ 5x k, d
(11)
确定雅可比矩阵D F (k) 的过程即为确定 (11) 式的过程Ζ
(9) 式表明, 对于重构的相空间向量 y (k ) , 它在 k 时刻的微小变化 ∃y (k ) , 在雅可比矩阵D F (k ) 的作用

lyapunov指数计算

lyapunov指数计算

lyapunov指数计算
Lyapunov指数(Lyapunov exponent)是一种用于描述动态系统混沌性质的指标。

在数学上,Lyapunov指数是描述线性化系统的稳定性的指标,它可以判断非线性系统是否具有混沌性质。

计算Lyapunov指数的基本过程如下:
1.首先,选择一个合适的初始状态,并计算该状态在系统中的轨迹。

2.然后,选取一个邻域,计算在该邻域内的状态与初始状态的差异随时间的变化情况。

3.对于每个时间步长,计算邻域中的点向初始状态点移动的距离与时间的比值。

4. 重复上述步骤,直到获得足够的数据,然后计算Lyapunov指数。

5. Lyapunov指数表示在该系统中相邻轨迹的指数级别分离速度。

具体计算Lyapunov指数的过程比较复杂,一般需要借助计算机进行模拟和计算。

-Lyapunov指数的计算方法

-Lyapunov指数的计算方法

【总结】Lyapunov指数的计算方法非线性理论近期为了把计算LE的一些问题弄清楚,看了有7~9本书!下面以吕金虎《混沌时间序列分析及其应用》、马军海《复杂非线性系统的重构技术》为主线,把目前已有的LE计算方法做一个汇总!1. 关于连续系统Lyapunov指数的计算方法连续系统LE的计算方法主要有定义方法、Jacobian方法、QR分解方法、奇异值分解方法,或者通过求解系统的微分方程,得到微分方程解的时间序列,然后利用时间序列(即离散系统)的LE求解方法来计算得到。

关于连续系统LE的计算,主要以定义方法、Jacobian方法做主要介绍内容。

(1)定义法定义法求解Lyapunov指数.JPG关于定义法求解的程序,和matlab板块的“连续系统LE求解程序”差不多。

以Rossler系统为例Rossler系统微分方程定义程序function dX = Rossler_ly(t,X)% Rossler吸引子,用来计算Lyapunov指数% a=0.15,b=0.20,c=10.0% dx/dt = -y-z,% dy/dt = x+ay,% dz/dt = b+z(x-c),a = 0.15;b = 0.20;c = 10.0;x=X(1); y=X(2); z=X(3);% Y的三个列向量为相互正交的单位向量Y = [X(4), X(7), X(10);X(5), X(8), X(11);X(6), X(9), X(12)];% 输出向量的初始化,必不可少dX = zeros(12,1);% Rossler吸引子dX(1) = -y-z;dX(2) = x+a*y;dX(3) = b+z*(x-c);% Rossler吸引子的Jacobi矩阵Jaco = [0 -1 -1;1 a 0;z 0 x-c];dX(4:12) = Jaco*Y;求解LE代码:% 计算Rossler吸引子的Lyapunov指数clear;yinit = [1,1,1];orthmatrix = [1 0 0;0 1 0;0 0 1];a = 0.15;b = 0.20;c = 10.0;y = zeros(12,1);% 初始化输入y(1:3) = yinit;y(4:12) = orthmatrix;tstart = 0; % 时间初始值tstep = 1e-3; % 时间步长wholetimes = 1e5; % 总的循环次数steps = 10; % 每次演化的步数iteratetimes = wholetimes/steps; % 演化的次数mod = zeros(3,1);lp = zeros(3,1);% 初始化三个Lyapunov指数Lyapunov1 = zeros(iteratetimes,1); Lyapunov2 = zeros(iteratetimes,1); Lyapunov3 = zeros(iteratetimes,1);for i=1:iteratetimestspan = tstart:tstep:(tstart + tstep*steps); [T,Y] = ode45('Rossler_ly', tspan, y);% 取积分得到的最后一个时刻的值y = Y(size(Y,1),:);% 重新定义起始时刻tstart = tstart + tstep*steps;y0 = [y(4) y(7) y(10);y(5) y(8) y(11);y(6) y(9) y(12)];%正交化y0 = ThreeGS(y0);% 取三个向量的模mod(1) = sqrt(y0(:,1)'*y0(:,1));mod(2) = sqrt(y0(:,2)'*y0(:,2));mod(3) = sqrt(y0(:,3)'*y0(:,3));y0(:,1) = y0(:,1)/mod(1);y0(:,2) = y0(:,2)/mod(2);y0(:,3) = y0(:,3)/mod(3);lp = lp+log(abs(mod));%三个Lyapunov指数Lyapunov1(i) = lp(1)/(tstart);Lyapunov2(i) = lp(2)/(tstart);Lyapunov3(i) = lp(3)/(tstart);y(4:12) = y0';end% 作Lyapunov指数谱图i = 1:iteratetimes;plot(i,Lyapunov1,i,Lyapunov2,i,Lyapunov3)程序中用到的ThreeGS程序如下:%G-S正交化function A = ThreeGS(V) % V 为3*3向量v1 = V(:,1);v2 = V(:,2);v3 = V(:,3);a1 = zeros(3,1);a2 = zeros(3,1);a3 = zeros(3,1);a1 = v1;a2 = v2-((a1'*v2)/(a1'*a1))*a1;a3 = v3-((a1'*v3)/(a1'*a1))*a1-((a2'*v3)/(a2'*a2))*a2;A = [a1,a2,a3];计算得到的Rossler系统的LE为———— 0.063231 0.092635 -9.8924Wolf文章中计算得到的Rossler系统的LE为————0.09 0 -9.77需要注意的是——定义法求解的精度有限,对有些系统的计算往往出现计果和理论值有偏差的现象。

关于Lyapunov指数计算方法的比较_张海龙

关于Lyapunov指数计算方法的比较_张海龙

混沌从本质上说是指在确定性系统中出现的一种貌似无规则 、 类似随机的现象. 混沌系统的基本特点 Lyapunov 指数 两个靠近的初值产生的轨道随时间推移按指数方式分离 , 是运动对初值条件极为敏感, ( LE ) 就是定量描述这一现象的量, 是衡量系统动力学特性的一个重要定量指标, 它表征了系统在相空间 [1 , 2 ] . 中相邻轨道间收敛或发散的平均指数率 如何快速、 准确地计算出 LE 是分析混沌系统的关键, 近年来国内学者对 LE 的计算方法做了很多研 [3 ] , Yan Wen logistic lyapunov Liao[4]利用 wolf 法计算出几种 究 利用定义法求解了 模型的最大 指数( LLE ) 、 Wang[5] 在比较 wolf 法与小数据量法后选择采用小数据量法计算出 logistic 模型的 典型混沌系统 LLE 、 LLE 、 Xie[6]在实际应用中又提出改进的小数据量法 . 对于不同系统可以选择不同的计算方法 , 虽然各种方 法均取得了较好的计算结果, 不同的计算方法可以适用于不同的系统中 , 但是目前对多种 LE 计算方法的 综合比较和选择依据的说明很少. 本文讨论混沌吸引子的 Lyapunov 指数计算问题, 主要是对实际应用中 wolf 法、 即定义法、 正交法和小数据量法, 以典型的 Lorenz 系统为例, 分别用各 常用的几种方法进行比较, 种方法计算其 Lyapunov 指数或者最大 Lyapunov 指数, 详细比较出各种求解精度、 求解复杂度和抗干扰能 力的差异, 从而给出各方法的适用范围和选择依据 . 关于其他动力学系统的 Lyapunov 指数计算结果, 由于 这里不再给出. 篇幅的限制,
— 6 —
张海龙, 等: 关于 Lyapunov 指数计算方法的比较

Lyapunov指数的计算方法

Lyapunov指数的计算方法

【总结】Lyapunov指数的计算方法非线性理论近期为了把计算LE的一些问题弄清楚,瞧了有7~9本书!下面以吕金虎《混沌时间序列分析及其应用》、马军海《复杂非线性系统的重构技术》为主线,把目前已有的LE计算方法做一个汇总!1、关于连续系统Lyapunov指数的计算方法连续系统LE的计算方法主要有定义方法、Jacobian方法、QR分解方法、奇异值分解方法,或者通过求解系统的微分方程,得到微分方程解的时间序列,然后利用时间序列(即离散系统)的LE求解方法来计算得到。

关于连续系统LE的计算,主要以定义方法、Jacobian方法做主要介绍内容。

(1)定义法定义法求解Lyapunov指数、JPG关于定义法求解的程序,与matlab板块的“连续系统LE求解程序”差不多。

以Rossler系统为例Rossler系统微分方程定义程序function dX = Rossler_ly(t,X)% Rossler吸引子,用来计算Lyapunov指数% a=0、15,b=0、20,c=10、0% dx/dt = -y-z,% dy/dt = x+ay,% dz/dt = b+z(x-c),a = 0、15;b = 0、20;c = 10、0;x=X(1); y=X(2); z=X(3);% Y的三个列向量为相互正交的单位向量Y = [X(4), X(7), X(10);X(5), X(8), X(11);X(6), X(9), X(12)];% 输出向量的初始化,必不可少dX = zeros(12,1);% Rossler吸引子dX(1) = -y-z;dX(2) = x+a*y;dX(3) = b+z*(x-c);% Rossler吸引子的Jacobi矩阵Jaco = [0 -1 -1;1 a 0;z 0 x-c];dX(4:12) = Jaco*Y;求解LE代码:% 计算Rossler吸引子的Lyapunov指数clear;yinit = [1,1,1];orthmatrix = [1 0 0;0 1 0;0 0 1];a = 0、15;b = 0、20;c = 10、0;y = zeros(12,1);% 初始化输入y(1:3) = yinit;y(4:12) = orthmatrix;tstart = 0; % 时间初始值tstep = 1e-3; % 时间步长wholetimes = 1e5; % 总的循环次数steps = 10; % 每次演化的步数iteratetimes = wholetimes/steps; % 演化的次数mod = zeros(3,1);lp = zeros(3,1);% 初始化三个Lyapunov指数Lyapunov1 = zeros(iteratetimes,1); Lyapunov2 = zeros(iteratetimes,1); Lyapunov3 = zeros(iteratetimes,1);for i=1:iteratetimestspan = tstart:tstep:(tstart + tstep*steps); [T,Y] = ode45('Rossler_ly', tspan, y);% 取积分得到的最后一个时刻的值y = Y(size(Y,1),:);% 重新定义起始时刻tstart = tstart + tstep*steps;y0 = [y(4) y(7) y(10);y(5) y(8) y(11);y(6) y(9) y(12)];%正交化y0 = ThreeGS(y0);% 取三个向量的模mod(1) = sqrt(y0(:,1)'*y0(:,1));mod(2) = sqrt(y0(:,2)'*y0(:,2));mod(3) = sqrt(y0(:,3)'*y0(:,3));y0(:,1) = y0(:,1)/mod(1);y0(:,2) = y0(:,2)/mod(2);y0(:,3) = y0(:,3)/mod(3);lp = lp+log(abs(mod));%三个Lyapunov指数Lyapunov1(i) = lp(1)/(tstart);Lyapunov2(i) = lp(2)/(tstart);Lyapunov3(i) = lp(3)/(tstart);y(4:12) = y0';end% 作Lyapunov指数谱图i = 1:iteratetimes;plot(i,Lyapunov1,i,Lyapunov2,i,Lyapunov3)程序中用到的ThreeGS程序如下:%G-S正交化function A = ThreeGS(V) % V 为3*3向量v1 = V(:,1);v2 = V(:,2);v3 = V(:,3);a1 = zeros(3,1);a2 = zeros(3,1);a3 = zeros(3,1);a1 = v1;a2 = v2-((a1'*v2)/(a1'*a1))*a1;a3 = v3-((a1'*v3)/(a1'*a1))*a1-((a2'*v3)/(a2'*a2))*a2;A = [a1,a2,a3];计算得到的Rossler系统的LE为———— 0、063231 0、092635 -9、8924Wolf文章中计算得到的Rossler系统的LE为————0、09 0 -9、77需要注意的就是——定义法求解的精度有限,对有些系统的计算往往出现计果与理论值有偏差的现象。

李雅普诺夫指数

李雅普诺夫指数

在计算lyapunov指数值的基础上弄清楚lyapunov指数与时间序列结构在较短的时间范围内稳定的前提条件下建立lyapunov指数一维二维及三维相空间的预测模式综合考虑各种模式的预测结果并对相空间模式的预测误差进行估计最后作出要素的气候预测
李雅普诺夫指数
ห้องสมุดไป่ตู้ 1.此指数的定义 2.此指数的划分意义 3.此指数用在混沌中,如何应用 4.此指数在其他方面的应用 5.此指数的几种计算方法
Lyapunov指数,特别是最大Lyapunov指数 即是系统混沌特性的度量特征量,对应于不 同的运行状态或故障模式,其Lyapunov指 数亦不相同,因而,可基于Lyapunov指数对 系统的 混沌状态进行识别,从而建立航空发动机状 态识别和故障诊断方法。
3.还可以用在判断混沌神经网络 4.用于围岩系统的载荷演化 还有许多方面的应用
该时间长序列是否为混沌系统,在某个方向 上是 指数辐散或辐合(膨胀或缩短),为短期 气候预测指明最大可以预报的时间尺度。 人们可以利用时间变量推出序列的关联维 数及其Lyapunov指数,揭示序列的非线性 演变特性和最大可预报的时间尺度,避免在 做气候预报时的时间尺度过大的情形。
在计算Lyapunov指数值的基础上,弄清楚 Lyapunov指数与时间序列结构在较短的时 间范围内稳定的前提条件下,建立 Lyapunov指数一维、二维及三维相空间的 预测模式,综合考虑各种模式的预测结果, 并对相空间模式的预测误差进行估计,最后 作出要素的气候预测。]
一李雅普诺夫指数的定义
李雅普诺夫指数是指在相空间中相互靠近 的两条轨线随着时间的推移,按指数分离 或聚合的平均变化速率。最大李雅普诺夫 指数定义为 其中,表示时刻最邻近两点间的距离;M 为计算总步数。

Lyapunov指数计算

Lyapunov指数计算

又设它有已知解
x0
(
x10,
x
20
,,
xn
0
)
,令
(4)
xi = xi0 + δxi i = 1,2,, n

x0
邻域内的另一解,将式(5)代入式(4)得:
(5)
∑ ddxi
dt
=
n
Lij(x0 Nhomakorabea)dx
j
j =1
(6)
矩阵
Lij
(x0
)
=
( ∂fi ∂x j
) x0
(7)
为线性化演化算子或李雅普诺夫矩阵。我们知道,只要
Lyapunov 指数的计算与仿真
摘要:Lyapunov 指数在研究动力系统的分岔、混沌运动特性中起着重要的作用,是衡量系 统动力学特性的一个重要定量指标,它表征了系统在相空间中相邻轨道间收敛或发散的平均 指数率。对于系统是否存在动力学混沌,可以从最大 Lyapunov 指数是否大于零非常直观的 判断出来:一个正的 Lyapunov 指数意味着在相空间中,无论初始两条轨线的间距多么小, 其差别都会随时间的演化而成为指数率的增加以致达到无法预测,这就是混沌现象。本文介 绍了 Lyapunov 指数的定义、性质及计算原理和数值计算的实现方法,应用 Matlab 软件、编 写了计算 Lyapunov 指数程序,计算了 Logistic 映射系统、Henon 系统及时间序列的 Lyapunov 指数。实例的计算机仿真表明 Lyapunov 指数是研究分岔、混沌运动,解决工程实际问题的 有效方法之一。
=
dT T
T
x
dTxt−1 迭
代得到。我们可以考虑这些运算在标准基中的矩阵表示,事实上,任何标准正交

碰撞振动系统Lyapunov指数谱的计算

碰撞振动系统Lyapunov指数谱的计算

1 力学模 型及其 L au o 指数谱的计算 yp n v
图1 为两 自由度含间隙碰撞振动系统的力学模 型L 。 1. 。 在任意相邻两 次碰撞之 间, 系统的无量纲运
动 微分 方程 为
[ [
l 1I b < . X
[ 2 一 {
} + ,
() 1
数 ( 件 L au o 条 y p n v指数 ) 皆应 为 负值. 因此 计 算 L au o 指数谱对于判定动力系统的运动稳定性 、 yp n v 混 沌特 性及 混沌控 制都 是极 为重要 的. 目前, 对光滑动力 系统 L a u o yp n v指数谱计算
及其 Jcb 矩 阵, 出碰撞振动 系统 L a u o 指数谱 的计算方 法; ao i 得 yp n v 通过 数值仿 真给 出 了系统 的 L a u o yp n v指数谱
随参数 大范围变化的规律 , 与相应 的分岔 图进行对照 , 验证 了其方法的正确性 和有效性 .
关 键 词 : 撞 振 动 ; yp n v指 数 谱 ; 岔 ; 沌 碰 L auo 分 混12 Βιβλιοθήκη XA 一 一 J一 l十 A

(c一 6 , s )
州 交





第3 1卷
主 l c +一一 R 1 ( 一 一 6 . 主c - )
f、 3

l nl
I ,
1 2 … ,,
一一一 . ~
() 7
方程() 1 的解见文献[. 8 由于碰撞的存在 , ] 使得 质块 M1的速 度 在碰 撞 前 后 瞬 时 发生 突变 , 向量 场 在该处 的 Jcb 矩阵不 存在 , aoi 因此光滑 动力系统 L a uo 指数谱 的计算 方法不能直接应用到该碰 yp n v 撞振 动 系统. 此利 用 P icr 在 ona6映射 方 法将 图 l所

Lyapunov 指数

Lyapunov 指数

3Lyapunov指数3最大Lyapunov指数 (1)3.1引言 (2)3.2Lyapunov指数谱的理论计算方法 (4)3.3Wolf法求Lyapunov指数 (5)3.4小数据量和Kantz法计算最大Lyapunov指数 (6)3.5尺度相关的Lyapunov指数 (8)3.6海杂波的最大Lyapunov指数 (10)3.7本章小结 (10)3.8后记 (10)3.1 引言最大Lyapunov指数是判断和描述非线性时间序列是否为混沌系统的重要参数,因此是一个重要的混沌不变量。

对于混沌系统来说,耗散是一种整体性的稳定因素,动力系统一方面作为耗散系统最终要收缩到相空间的有限区域即吸引子上。

另一方面系统在相体积收缩的同时,运动轨道又是不稳定的,要沿某些方向进行指数分离。

奇怪吸引子的不稳定的运动轨道在局部看来总是指数分离的。

为了有效刻画吸引子,我们有必要研究动力系统在整个吸引子或无穷长的轨道上平均后的特征量,如Lyapunov指数、关联维和Kolmogorov熵等。

混沌运动的基本特点是运动对初始条件极为敏感,两个极为靠近的初始值所产生的轨道,随时间推移按指数方式分离,Lyapunov指数就是描述这一现象的量。

在一维动力系统1()n n x F x +=中,初始两点迭代后互相分离还是靠拢,关键取决于导数dF dx 的值。

若1dF dx >,则迭代使得两点分开;若1dF dx<,则迭代使得两点靠拢。

但是在不断的迭代过程中,dF dx 的值也随之而变化,呈现出时而分离时而靠拢。

为了表示从整体上看相邻两个状态反而情况,必须对时间(或迭代次数)取平均。

不妨设平均每次迭代所引起的指数分离中的指数为λ,于是原来相距为ε的两点经过次迭代后距离为n ()00()(n x n n e F x F λεε=+−0)x (3.1) 取极限0,n ε→→∞,则(3.1)变为()()00000()()11lim lim ln lim ln n n n n n x x dF x F x F x x n n εελε→∞→→∞=+−==dx (3.2) 上式变形后,可简化为: ()()01001lim ln n n i x x dF x x n dx λ−→∞===∑ (3.3) (3.3)中的λ与初始值的选取没有关系,称为原动力系统的Lyapunov 指数,它表示系统在多次迭代中平均每次迭代所引起的指数分离中的指数。

一类碰撞系统的Lyapunov指数谱计算

一类碰撞系统的Lyapunov指数谱计算
Absr t Ca c l t n t ac : lu ai meh d f Ly p n v e p n n il p cr m o vb o i a t s se o t o o a u o x o e ta s e tu n a ir —mp c y t m i d s s i— c s e y t e r t a n lss a d n m e ia a c l t n i h sp p r Th lb lp r mee s v r i g u s d b h o e i la ay i n u rc lc lu ai n t i a e . e g o a a a t r — ay n c o r l so h y p n v e p n ni ls e tu o h ss se a e a lz d b u ei a i u ai n . n u e ft e L a u o x o e t p cr m n t i y t m r nay e y n m rc lsm lto s I a o d r t h w h e sb l y o h sme h d frlr e p r me e sr n e,h p rc lu a e y p n v r e o s o t e f a i ii ft i t o o a g a a tr a g t epa e a c l ts L a u o t e p n n s t l siy a ta tr b e v d i iu c to ig a . x o e t o ca sf t c o so s r e n b f r a in d a r ms r K e o ds: i o i yw r vbr —mpa t L a un v e p ne ta p cr m ; h o sa lt c ; y p o x o n ils e tu c a s;tbi y i
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【总结】Lyapunov指数的计算方法非线性理论近期为了把计算LE的一些问题弄清楚,看了有7~9本书!下面以吕金虎《混沌时间序列分析及其应用》、马军海《复杂非线性系统的重构技术》为主线,把目前已有的LE计算方法做一个汇总!1. 关于连续系统Lyapunov指数的计算方法连续系统LE的计算方法主要有定义方法、Jacobian方法、QR分解方法、奇异值分解方法,或者通过求解系统的微分方程,得到微分方程解的时间序列,然后利用时间序列(即离散系统)的LE求解方法来计算得到。

关于连续系统LE的计算,主要以定义方法、Jacobian方法做主要介绍容。

(1)定义法定义法求解Lyapunov指数.JPG关于定义法求解的程序,和matlab板块的“连续系统LE求解程序”差不多。

以Rossler系统为例Rossler系统微分方程定义程序function dX = Rossler_ly(t,X)%Rossler吸引子,用来计算Lyapunov指数%a=0.15,b=0.20,c=10.0%dx/dt = -y-z,%dy/dt = x+ay,%dz/dt = b+z(x-c),a = 0.15;b = 0.20;c = 10.0;x=X(1); y=X(2); z=X(3);% Y的三个列向量为相互正交的单位向量Y = [X(4), X(7), X(10);X(5), X(8), X(11);X(6), X(9), X(12)];% 输出向量的初始化,必不可少dX = zeros(12,1);% Rossler吸引子dX(1) = -y-z;dX(2) = x+a*y;dX(3) = b+z*(x-c);% Rossler吸引子的Jacobi矩阵Jaco = [0 -1 -1;1 a 0;z 0x-c];dX(4:12) = Jaco*Y;求解LE代码:% 计算Rossler吸引子的Lyapunov指数clear;yinit = [1,1,1];orthmatrix = [1 0 0;0 1 0;0 0 1];a = 0.15;b = 0.20;c = 10.0;y = zeros(12,1);% 初始化输入y(1:3) = yinit;y(4:12) = orthmatrix;tstart = 0; % 时间初始值tstep = 1e-3; % 时间步长wholetimes = 1e5; % 总的循环次数steps = 10; % 每次演化的步数iteratetimes = wholetimes/steps; % 演化的次数mod = zeros(3,1);lp = zeros(3,1);% 初始化三个Lyapunov指数Lyapunov1 = zeros(iteratetimes,1); Lyapunov2 = zeros(iteratetimes,1); Lyapunov3 = zeros(iteratetimes,1);for i=1:iteratetimestspan = tstart:tstep:(tstart + tstep*steps); [T,Y] = ode45('Rossler_ly', tspan, y); % 取积分得到的最后一个时刻的值y = Y(size(Y,1),:);% 重新定义起始时刻tstart = tstart + tstep*steps;y0 = [y(4) y(7) y(10);y(5) y(8) y(11);y(6) y(9) y(12)];%正交化y0 = ThreeGS(y0);% 取三个向量的模mod(1) = sqrt(y0(:,1)'*y0(:,1));mod(2) = sqrt(y0(:,2)'*y0(:,2));mod(3) = sqrt(y0(:,3)'*y0(:,3));y0(:,1) = y0(:,1)/mod(1);y0(:,2) = y0(:,2)/mod(2);y0(:,3) = y0(:,3)/mod(3);lp = lp+log(abs(mod));%三个Lyapunov指数Lyapunov1(i) = lp(1)/(tstart);Lyapunov2(i) = lp(2)/(tstart);Lyapunov3(i) = lp(3)/(tstart);y(4:12) = y0';end% 作Lyapunov指数谱图i = 1:iteratetimes;plot(i,Lyapunov1,i,Lyapunov2,i,Lyapunov3)程序中用到的ThreeGS程序如下:%G-S正交化function A = ThreeGS(V)% V 为3*3向量v1 = V(:,1);v2 = V(:,2);v3 = V(:,3);a1 = zeros(3,1);a2 = zeros(3,1);a3 = zeros(3,1);a1 = v1;a2 = v2-((a1'*v2)/(a1'*a1))*a1;a3 = v3-((a1'*v3)/(a1'*a1))*a1-((a2'*v3)/(a2'*a2))*a2;A = [a1,a2,a3];计算得到的Rossler系统的LE为————0.0632310.092635-9.8924Wolf文章中计算得到的Rossler系统的LE为————0.090-9.77需要注意的是——定义法求解的精度有限,对有些系统的计算往往出现计果和理论值有偏差的现象。

正交化程序可以根据上面的扩展到N*N向量,这里就不加以说明了,对matlab用户来说应该还是比较简单的!(2)Jacobian方法通过资料检索,发现论坛中用的较多的LET工具箱的算法原理就是Jacobian方法。

基本原理就是首先求解出连续系统微分方程的近似解,然后对系统的Jacobian 矩阵进行QR分解,计算Jacobian矩阵特征值的乘积,最后计算出LE和分数维。

经过计算也证明了这种方法精度较高,对目前常见的混沌系统,如Lorenz、Henon、Duffing等的Lyapunov指数的计算精度都很高,而且程序编写有一定的规,个人很推荐使用。

(虽然我自己要做的系统并不适用)LET工具箱可以在网络上找到,这里就不列出了!关于LET工具箱如果有问题,欢迎加入本帖讨论!Jacobian法求解Lyapunov指数.JPG对离散动力系统,或者说是非线性时间序列,往往不需要计算出所有的Lyapunov指数,通常只需计算出其最大的Lyapunov指数即可。

“1983年,格里波基证明了只要最大Lyapunov指数大于零,就可以肯定混沌的存在”。

目前常用的计算混沌序列最大Lyapunov指数的方法主要有一下几种:(1)由定义法延伸的Nicolis方法(2)Jacobian方法(3)Wolf方法(4)P-数方法(5)小数据量方法其中以Wolf方法和小数据量方法应用最为广泛,也最为普遍。

下面对Nicolis方法、Wolf方法以及小数据量方法作一一介绍。

(1)Nicolis方法这种方法和连续系统的定义方法类似,而且目前应用很有限制,因此只对其理论进行介绍,编程应用方面就省略了Nicolis方法求最大LE.JPG(2)Wolf方法Wolf方法求最大LE.JPGWolf方法的Matlab程序如下:function lambda_1=lyapunov_wolf(data,N,m,tau,P)%该函数用来计算时间序列的最大Lyapunov 指数--Wolf 方法%m: 嵌入维数!一般选大于等于10%tau:时间延迟!一般选与周期相当,如我选2000%data:时间序列!可以选1000;%N:时间序列长度满足公式:M=N-(m-1)*tau=24000-(10-1)*1000=5000%P:时间序列的平均周期,选择演化相点距当前点的位置差,即若当前相点为I,则演化相点只能在|I-J|>P的相点中搜寻 ! P=周期=600%lambda_1: 返回最大lyapunov指数值min_point=1; %&&要求最少搜索到的点数MAX_CISHU=5 ;%&&最大增加搜索围次数%FLYINGHAWK%求最大、最小和平均相点距离max_d = 0; %最大相点距离min_d = 1.0e+100; %最小相点距离avg_dd = 0;Y=reconstitution(data,N,m,tau); %相空间重构可将此段程序加到整个程序中,在时间循环,可以保存时间序列的地方。

见完整程序。

M=N-(m-1)*tau;%重构相空间中相点的个数for i = 1 : (M-1)for j = i+1 : Md = 0;for k = 1 : md = d + (Y(k,i)-Y(k,j))*(Y(k,i)-Y(k,j));endd = sqrt(d);if max_d < dmax_d = d;endif min_d > dmin_d = d;endavg_dd = avg_dd + d;endendavg_d = 2*avg_dd/(M*(M-1)); %平均相点距离dlt_eps = (avg_d - min_d) * 0.02 ;%若在min_eps~max_eps中找不到演化相点时,对max_eps的放宽幅度min_eps = min_d + dlt_eps / 2 ;%演化相点与当前相点距离的最小限max_eps = min_d + 2 * dlt_eps;%&&演化相点与当前相点距离的最大限%从P+1~M-1个相点中找与第一个相点最近的相点位置(Loc_DK)及其最短距离DKDK = 1.0e+100;%第i个相点到其最近距离点的距离Loc_DK = 2;%第i个相点对应的最近距离点的下标for i = (P+1):(M-1)%限制短暂分离,从点P+1开始搜索d = 0;for k = 1 : md = d + (Y(k,i)-Y(k,1))*(Y(k,i)-Y(k,1));endd = sqrt(d);if (d < DK) & (d > min_eps)DK = d;Loc_DK = i;endend%以下计算各相点对应的氏数保存到lmd()数组中% i 为相点序号,从1到(M-1),也是i-1点的演化点;Loc_DK为相点i-1对应最短距离的相点位置,DK为其对应的最短距离% Loc_DK+1为Loc_DK的演化点,DK1为i点到Loc_DK+1点的距离,称为演化距离%前i个log2(DK1/DK)的累计和用于求i点的lambda值sum_lmd = 0 ;% 存放前i个log2(DK1/DK)的累计和for i = 2 : (M-1)% 计算演化距离DK1 = 0;for k = 1 : mDK1 = DK1 + (Y(k,i)-Y(k,Loc_DK+1))*(Y(k,i)-Y(k,Loc_DK+1));endDK1 = sqrt(DK1);old_Loc_DK = Loc_DK ;% 保存原最近位置相点old_DK=DK;%计算前i个log2(DK1/DK)的累计和以及保存i点的氏指数if (DK1 ~= 0)&( DK ~= 0)sum_lmd = sum_lmd + log(DK1/DK) /log(2);endlmd(i-1) = sum_lmd/(i-1); 此处可以保存不同相点i对应的氏指数,见完整程序。

相关文档
最新文档