-Lyapunov指数的计算方法
毕业设计__基于神经网络的时间序列Lyapunov指数普的计算毕业设计论文

摘要 (II)Abstract (III)第一章绪论 (1)1.1 引言 (1)1.2 Lyapunov计算方法的定义 (2)第二章基于神经网络的Lyapunov指数谱的计算 (3)2.1 相空间重构 (3)2.2 Oseledec矩阵的确定 (3)2.3 QR分解 (5)2.4 小波神经网络 (7)2.5 基于RBF神经网络的Lyapunov指数谱计算方法 (10)2.6 Lyapunov指数实验计算代码 (11)2.6.1确定嵌入维数 (11)2.6.2确定延迟时间 (11)2.6.3计算Lyapunov指数普 (12)2.7 Lyapunov指数仿真实验结果 (14)2.7.1 实验一 (14)2.7.2 实验二 (16)小结 (18)总结 (19)参考文献 (20)致谢 (21)Lyapunov指数是衡量系统动力学特性的一个重要定量指标,它表征了系统在相空间中相邻轨道间收敛或发散的平均指数率。
对于系统是否存在动力学混沌, 可以从最大Lyapunov指数是否大于零非常直观的判断出来: 一个正的Lyapunov 指数,意味着在系统相空间中,无论初始两条轨线的间距多么小,其差别都会随着时间的演化而成指数率的增加以致达到无法预测,这就是混沌现象。
利用RBF 神经网络的非线性函数逼近能力, 由实验观察数据列计算系统的Lyapunov指数谱实例计算表明, 此种方法精度较高且计算量较小, 有重要的实际意义.关键词: Lyapunov 指数谱; 相空间重构; 人工神经网络AbstractLyapunov exponent is an important measure of system dynamics quantitative indicators, It is characterized by the average rate in the phase space between adjacent tracks convergence or divergence. For the existence of chaotic dynamics, can be very intuitive judgment from the largest Lyapunov exponent is greater than zero: a positive Lyapunov exponent, means that the system in phase space, regardless of the initial two-rail line spacing, however small, the difference will cannot predictAs time evolved exponential increase in the rate of so reached, which is chaos. Lyapunov exponents are one of a number of parameters that characterize the nature of a chaotic dynamical system. We calculate the Lyapunov exponents from an observed time series based on the ability thata RBF neural network can approximate nonlinear functions. The results show that this method needs less computing time and has higher precision, soit has practical significance.Keywords: Lyapunov exponents;Reconstruction of phase space;Artificial neural network第一章绪论1.1引言混沌系统的基本特点就是系统对初始值的极端敏感性,两个相差无几的初值所产生的轨迹,随着时间的推移按指数方式分离,Lyapunov指数[1]就是定量的描述这一现象的量。
-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 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.8924 Wolf文章中计算得到的Rossler系统的LE为————0.090-9.77需要注意的是——定义法求解的精度有限,对有些系统的计算往往出现计果和理论值有偏差的现象。
克隆法计算李雅普诺夫指数

克隆法计算李雅普诺夫指数李雅普诺夫指数(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方程的一般形式为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在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指数计算

lyapunov指数计算
Lyapunov指数(Lyapunov exponent)是一种用于描述动态系统混沌性质的指标。
在数学上,Lyapunov指数是描述线性化系统的稳定性的指标,它可以判断非线性系统是否具有混沌性质。
计算Lyapunov指数的基本过程如下:
1.首先,选择一个合适的初始状态,并计算该状态在系统中的轨迹。
2.然后,选取一个邻域,计算在该邻域内的状态与初始状态的差异随时间的变化情况。
3.对于每个时间步长,计算邻域中的点向初始状态点移动的距离与时间的比值。
4. 重复上述步骤,直到获得足够的数据,然后计算Lyapunov指数。
5. Lyapunov指数表示在该系统中相邻轨迹的指数级别分离速度。
具体计算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.8924 Wolf文章中计算得到的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对应的李氏指数,见完整程序。