-Lyapunov指数地计算方法
克隆法计算李雅普诺夫指数
克隆法计算李雅普诺夫指数李雅普诺夫指数(Lyapunov exponent)是用来衡量动态系统稳定性的一个重要指标。
在混沌理论中,李雅普诺夫指数可以用来预测一个系统对初始条件的敏感性。
克隆法是一种计算李雅普诺夫指数的数值方法。
其基本思想是:对于一个给定的动态系统,我们首先生成两个几乎完全相同的初始条件,然后让它们分别演化。
随着时间的推移,这两个初始条件会逐渐分离,我们可以通过测量它们之间的距离来计算李雅普诺夫指数。
具体步骤如下:
生成两个几乎完全相同的初始条件。
让这两个初始条件分别演化。
计算它们之间的距离。
重复上述步骤多次,并取平均值。
将平均值与时间作图,并求出斜率,即为李雅普诺夫指数。
需要注意的是,克隆法是一种数值方法,其结果会受到初始条件的选择、时间步长的选择等因素的影响。
因此,在使用克隆法计算李雅普诺夫指数时,需要选择合适的参数,并进行多次模拟以获得更准确的结果。
切换系统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指数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指数谱的计算
(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指数的非线性控制
stable. Such systems are conservative and in a steady state mode. They exhibit Lyapunov stability.
<0 - the system is chaotic
and unstable. Nearby points will diverge irrespective of how close they are.
i
Definition of Lyapunov Exponents
Given a continuous dynamical system in an ndimensional phase space, we monitor the long-term evolution of an infinitesimal n-sphere of initial conditions. The sphere will become an n-ellipsoid due to the locally deforming nature of the flow. The i-th one-dimensional Lyapunov exponent is then defined as following:
L.E.(李雅普诺夫指数 )是1892年提出的, 直到近几年,才认识到它的重要性 —— 它是判断有界非线性系统是否为混沌 系统的一个重要方法。
lyapunov指数计算
lyapunov指数计算
Lyapunov指数(Lyapunov exponent)是一种用于描述动态系统混沌性质的指标。
在数学上,Lyapunov指数是描述线性化系统的稳定性的指标,它可以判断非线性系统是否具有混沌性质。
计算Lyapunov指数的基本过程如下:
1.首先,选择一个合适的初始状态,并计算该状态在系统中的轨迹。
2.然后,选取一个邻域,计算在该邻域内的状态与初始状态的差异随时间的变化情况。
3.对于每个时间步长,计算邻域中的点向初始状态点移动的距离与时间的比值。
4. 重复上述步骤,直到获得足够的数据,然后计算Lyapunov指数。
5. 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 指数 两个靠近的初值产生的轨道随时间推移按指数方式分离 , 是运动对初值条件极为敏感, ( 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指数等。
二、统计物理计算方法统计物理计算方法是一种基于概率和统计的方法,它可以帮助我们研究和描述系统的宏观行为。
在混沌动力学中,统计物理计算方法可以应用于混沌系统的性质和演化规律的研究。
下面将介绍一些常用的统计物理计算方法。
1. 布朗运动模拟布朗运动是一种无规则运动,可以看作是无数个微观粒子的随机运动叠加而成的宏观现象。
通过模拟布朗运动,我们可以研究混沌系统中随机性的产生和传播规律。
在计算中,可以应用随机数生成算法来模拟布朗运动,并通过统计方法来分析其性质。
2. 相空间分布的统计分析相空间是描述系统状态的一种数学空间,在混沌系统中起到了重要的作用。
通过对相空间分布的统计分析,我们可以获得系统的演化规律和性质。
常用的统计分析方法包括方差分析、频率分析等。
3. Lyapunov指数的计算Lyapunov指数是描述混沌系统敏感依赖性的重要指标之一。
通过计算Lyapunov指数,我们可以判断混沌系统的不可预测性和稳定性。
计算Lyapunov指数的方法包括Wolf算法、Kaplan-Yorke公式等。
三、应用举例1. 混沌系统的控制通过统计物理计算方法,我们可以分析混沌系统的特性和行为,并设计相应的控制策略。
计算lyapunov指数,利用wolf方法
!系统表现为常微分方程组:(洛伦兹系统)!使用Wolf方法,注意IVF与fortran下面使用库函数的不同PROGRAM LE_DIFEQEN!INCLUDE 'link_fnl_shared.h'!USE numerical_libraries!使用fortran65用下面的一句话,用IVF使用上面的两句话USE IMSLIMPLICIT NONEINTEGER,PARAMETER::N=3 ! 原始微分方程个数INTEGER,PARAMETER::NN=12 !系统变量个数N+N*NEXTERNAL FCN !计算微分方程的子程序INTEGER I,J,K,L,NSTEP,IDO!NSTEP为计算次数REAL::TOL,STPSZE,T,TEND!T为系统的初始时间值,执行一次IVPRK后设为TEND(所要计算的系统时间值)!STPSZE为从T到TEND的时间步长!TOL为期望的误差范围REAL::Y(NN),ZNORM(N),GSC(N),LE(N),PARAM(50)!ZNORM中放向量的模!LE中放李雅普洛夫指数!非线性系统的初值Y(1)=10.0Y(2)=1.0Y(3)=0.0!线性系统的初值DO I=N+1,NNY(I)=0.0END DODO I=1,NY((N+1)*I)=1.0LE(I)=0.0END DO!参数设置参数设置参数设置参数设置!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!IDO=1PARAM=0PARAM(4)=5000000param(10)=1.0T=0.0TOL=1E-2NSTEP=1000000STPSZE=0.01!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!DO I=1,NSTEPTEND=STPSZE*REAL(I)CALL IVPRK(IDO,NN,FCN,T,TEND,TOL,PARAM,Y)!以下部分将N个向量正交单位化!V1=(Y(4),Y(7),Y(10))!V2=(Y(5),Y(8),Y(11))!V3=(Y(6),Y(9),Y(12))!.......!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Normalize the first vectorZNORM(1)=0.0DO J=1,NZNORM(1)=ZNORM(1)+Y(N*J+1)**2END DOZNORM(1)=SQRT(ZNORM(1))DO J=1,NY(N*J+1)=Y(N*J+1)/ZNORM(1)END DO!Generate the new orthonormal set of vectorsDO J=2,N! Generate J-1 GSR coefficientsDO K=1,(J-1)GSC(K)=0.0DO L=1,NGSC(K)=GSC(K)+Y(N*L+J)*Y(N*L+K)END DOEND DO! Construct a new vectorDO K=1,NDO L=1,(J-1)Y(N*K+J)=Y(N*K+J)-GSC(L)*Y(N*K+L)END DOEND DO! Calculate the vector's normZNORM(J)=0.0DO K=1,NZNORM(J)=ZNORM(J)+Y(N*K+J)**2END DOZNORM(J)=SQRT(ZNORM(J))! Normalize the new vectorDO K=1,NY(N*K+J)=Y(N*K+J)/ZNORM(J)END DOEND DO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!DO K=1,NLE(K)=LE(K)+ALOG(ZNORM(K))/ALOG(2.0) !计算指数END DOEND DOCALL IVPRK(3,NN,FCN,T,TEND,TOL,PARAM,Y)DO K=1,NWRITE(*,'(f12.2)') LE(K)/TEND DOSTOPEND PROGRAM LE_DIFEQENSUBROUTINE FCN(N,T,Y,YPRIME)IMPLICIT NONEINTEGER N,IREAL T,Y(12),YPRIME(12)YPRIME(1)=16.0*(Y(2)-Y(1))YPRIME(2)=-Y(1)*Y(3)+45.92*Y(1)-Y(2)YPRIME(3)=Y(1)*Y(2)-4.0*Y(3)DO I=0,2YPRIME(4+I)=16.0*(Y(7+I)-Y(4+I))YPRIME(7+I)=(45.92-Y(3))*Y(4+I)-Y(7+I)-Y(1)*Y(10+I) YPRIME(10+I)=Y(2)*Y(4+I)+Y(1)*Y(7+I)-4.0*Y(10+I) END DORETURNEND SUBROUTINE。
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指数计算
但是在不断地迭代过程中, dF 的值要不断变化。为了表示从整体看两相邻初始 dx
状态分离的情况,必须对时间(或迭代次数)取平均。为此,设平均每次迭代所
引起的指数分离中的指数为 λ ,则初始两点 x0 与 x0 + ε 相距 ε ,经 n 次迭代后,
点变为 F n (x0 ) 与 F n (x0 + ε ) ,相距 εenλ ,即:
n
∑ 成的超球体的体积由 λ1 + λ2 + + λk 决定。而 λi 则决定整个 n 维超球体的体 i =1
积收缩的快慢。
由以上分析可以看出:
(1)任何吸引子,不论其奇怪与否,至少有一个 Lyapunov 指数小于零,否 则轨线就不可能收缩为吸引子。
(2)稳定定态和周期运动(以及准周期运动)不可能有正的 Lyapunov 指数。 稳定定态的 Lyapunov 指数都是负的;周期运动的 λ1 = 0 ,其余的 Lyapunov 指数 也都是负的。
eenλ(x0 ) = F n (x0 + ε ) - F n (x0 ) 取极限 ε → 0 , n → ∞ ,由上式得到:
(1)
分段线性齿轮系统的Lyapunov指数计算方法
分段线性齿轮系统的Lyapunov指数计算方法
杨建军;李晋;邓效忠;方宗德
【期刊名称】《机械科学与技术》
【年(卷),期】2008(027)006
【摘要】齿轮动力系统是一个分段线性的非光滑系统,由于系统的Jacobian矩阵在非光滑点处不存在,不能直接应用光滑动力系统的Lyapunov指数的计算方法来定量化地判别系统的动力学行为.本文利用M LLER算法,根据非光滑点处的检测函数和碰撞函数,找到齿轮系统不同状态之间偏移矢量的转换关系,得到了非光滑齿轮系统的最大Lyapunov指数的统一算法.通过算例,将系统的最大Lyapunov指数,与系统的相图和Poincaré截面进行比较,验证了齿轮动力系统最大Lyapunov指数计算方法的有效性.
【总页数】3页(P728-730)
【作者】杨建军;李晋;邓效忠;方宗德
【作者单位】西北工业大学,机电学院,西安,710072;河南科技大学,洛阳,471003;周口师范学院,周口,466000;河南科技大学,洛阳,471003;西北工业大学,机电学院,西安,710072
【正文语种】中文
【中图分类】TH132.41
【相关文献】
1.关于Lyapunov指数计算方法的比较 [J], 张海龙;闵富红;王恩荣
2.带约束多体系统Lyapunov指数的数值计算方法 [J], 付士慧;王琪
3.非光滑动力系统Lyapunov指数谱的计算方法 [J], 金俐;陆启韶
4.一类基于奇异值分解的Lyapunov指数计算方法 [J], 张晓丹;李志萍;张丽丽
5.极限图形映射中Lyapunov指数计算方法浅析 [J], 金媛媛
因版权原因,仅展示原文概要,查看原文内容请购买。
一类三维随机动力系统的最大lyapunov指数
一类三维随机动力系统的最大lyapunov指数在动力学系统中,Lyapunov指数是一种衡量系统的稳定性和混沌程度的重要性质。
在三维随机动力学系统中,其最大Lyapunov指数是一个非常重要的物理量,它可以表示系统的最大敏感性和最大混沌程度。
下面分步骤阐述一类三维随机动力系统的最大Lyapunov指数:第一步:定义随机动力学系统我们考虑一个三维随机动力学系统:dx/dt = f(x, y, z) + g1(x, y, z)η1(t)dy/dt = h(x, y, z) + g2(x, y, z)η2(t)dz/dt = p(x, y, z) + g3(x, y, z)η3(t)其中f(x, y, z),h(x, y, z),p(x, y, z)为确定性的动力学系统,g1(x, y, z),g2(x, y, z),g3(x, y, z)为随机的扰动项,η1(t),η2(t),η3(t)为服从标准正态分布的三个独立白噪声。
这样的随机动力学系统有着广泛的应用,例如在流体力学、天体物理学和生命科学中都有应用。
第二步:计算Lyapunov指数Lyapunov指数是衡量系统敏感性的工具,它定义了随机动力学系统中一个点在某一条轨道上向着邻近轨道的指数增长率。
在上述系统中,考虑一个被离散化的轨道,其初始点为(xi , yi , zi)。
定义一个初始相邻点(x'i , y'i , z'i),满足:∥(x'i , y'i , z'i) - (xi , yi , zi)∥ < ϵ其中ϵ为一个足够小的正数。
然后根据干扰项的线性近似,可以得到相邻点的演化方程:d(x'i ,y'i ,z'i )/dt = J(x,y,z)·(x'i,y'i,z'i)其中J(x,y,z)为随机Jacobi矩阵,具体形式可在文献中查阅。
碰撞振动系统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所
李雅普诺夫指数
四李雅普诺夫指数在其他方面的 应用
1.在气候方面的作用 Lyapunov指数不仅包含了耗散系统在 相空间中体积收缩、膨胀的几何特征变 化,而且还表明了系统在特定时间内信 息的变化,它可以作为短期气候预测的 重要基础[3,4Lyapunov指数及其可预报 时间尺度的意义有:
该时间长序列是否为混沌系统,在某个方向 上是 指数辐散或辐合(膨胀或缩短),为短期 气候预测指明最大可以预报的时间尺度。 人们可以利用时间变量推出序列的关联维 数及其Lyapunov指数,揭示序列的非线性 演变特性和最大可预报的时间尺度,避免在 做气候预报时的时间尺度过大的情形。
三此指数在混沌系统中的应用
混沌运动的基本特点是运动状态对初始条 件的高度敏感性。两个极为靠近的初值所 产生的轨道,随时间推移按指数形式分 离,Lyapunov指数是定量描述这一现象的 量。
对所讨论的Duffing振子,若它的Lyapunov 指数均小于零,则系统处于周期状态:若存 在一个Lyapunov特性指数大于零,就说明 系统是处于混沌状态。这种判别方法计算 简单,物理意义明确,误差小 。
其中一维系统只有一个指数,二维系统有 两个指数来表征。在实际计算中,要计算所 有的Lyapunov指数,计算量较大,尤其当系 统维数L较大时更为突出.所以注意力集中 在计算系统的最大Lyapunov指数λm上. 具体推导过程见(李雅普诺夫指数)
二此指数的物理意义
系统的Lyapunov指数谱可有效地表征变量 随时间演化时,系统对初值的敏感性。指 数小于零说明体系的相体积在该方向上是 收缩的,此方向的运动是稳定的;
具体的方法还有 1.从动力学规律计算Lyapunov指数 2. Chang一Wright混合嫡法 Chang一wright混合嫡法仅适用于可化为 一维凸映射的情况。一般来说,总点数N 及盒子数凡越大,所得结果越精确。
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 指数,它表示系统在多次迭代中平均每次迭代所引起的指数分离中的指数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 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需要注意的是——定义法求解的精度有限,对有些系统的计算往往出现计果和理论值有偏差的现象。
正交化程序可以根据上面的扩展到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对应的李氏指数,见完整程序。