非光滑混沌系统的Lyapunov指数计算
动力系统中的混沌控制策略评价指标

动力系统中的混沌控制策略评价指标动力系统中的混沌控制策略评价指标混沌控制是指通过引入外部控制信号来抑制或控制混沌现象的一种方法。
在动力系统中,混沌控制策略的评价指标对于理解系统的稳定性和控制性能具有重要意义。
本文将介绍动力系统中的混沌控制策略评价指标,并探讨其应用。
一、Lyapunov指数Lyapunov指数是一种常用的混沌控制策略评价指标,它用于衡量混沌系统的稳定性。
Lyapunov指数的计算方法需要基于Lyapunov指数定理,通过对系统状态的微小扰动进行分析,确定系统的稳定性和敏感性。
通过计算Lyapunov指数,可以评估混沌控制策略对系统的控制效果。
二、收敛速度收敛速度是评价混沌控制策略效果的重要指标之一。
混沌系统通常具有较长的转动周期和不可预测性,因此控制策略应能够快速使系统转移到期望的状态。
收敛速度可以通过测量系统状态变化的速度来评估,较快的收敛速度意味着控制策略对系统的控制能力更强。
三、控制幅度控制幅度是指控制策略在系统中引入的控制信号的幅度大小。
混沌控制策略应该通过调节控制幅度来抑制系统中的混沌行为,使系统进入到期望的运动模式。
控制幅度的调节需要考虑到系统的特性和稳定性,过小的控制幅度可能无法有效控制混沌现象,过大的控制幅度可能导致系统不稳定。
四、控制延迟控制延迟是指控制策略引入控制信号到系统实际响应的时间延迟。
混沌系统对外部干扰非常敏感,因此控制延迟应尽可能小,以保证控制策略的实时性和有效性。
评估控制延迟的方法可以通过测量控制信号作用到系统的时间和系统响应的时间之间的差值。
五、鲁棒性鲁棒性是指混沌控制策略对系统参数变化和外部干扰的稳定性。
在实际应用中,系统参数可能存在不确定性和波动性,外部干扰可能导致系统产生不可预测的行为。
混沌控制策略的鲁棒性能够保证系统能够稳定地运行并抵抗外部干扰,具有较好的控制效果。
六、能耗能耗是评价混沌控制策略的另一个重要指标。
在实际应用中,混沌控制策略可能需要引入额外的能量来控制系统的行为。
Lyapunov指数的计算方法

总结Lyapunov 指数的计算方法近期为了把计算LE的一些问题弄清楚,看了有7~9本书下面以吕金虎混沌时间序列分析及其应用、马军海复杂非线性系统的重构技术为主线,把目前已有的LE计算方法做一个汇总1. 关于连续系统Lyapunov指数的计算方法连续系统LE的计算方法主要有定义方法、Jacobian方法、QR分解方法、奇异值分解方法,或者通过求解系统的微分方程,得到微分方程解的时间序列,然后利用时间序列即离散系统的LE求解方法来计算得到;关于连续系统LE的计算,主要以定义方法、Jacobian方法做主要介绍内容;1定义法关于定义法求解的程序,和matlab板块的“连续系统LE求解程序”差不多;以Rossler 系统为例Rossler系统微分方程定义程序function dX = Rossler_lyt,X% Rossler吸引子,用来计算Lyapunov指数% a=,b=,c=% dx/dt = -y-z,% dy/dt = x+ay,% dz/dt = b+zx-c,a = ;b = ;c = ;x=X1; y=X2; z=X3;% Y的三个列向量为相互正交的单位向量Y = X4, X7, X10;X5, X8, X11;X6, X9, X12;% 输出向量的初始化,必不可少dX = zeros12,1;% Rossler吸引子dX1 = -y-z;dX2 = x+ay;dX3 = b+zx-c;% Rossler吸引子的Jacobi矩阵Jaco = 0 -1 -1;1 a 0;z 0 x-c;dX4:12 = JacoY;求解LE代码:% 计算Rossler吸引子的Lyapunov指数clear;yinit = 1,1,1;orthmatrix = 1 0 0;0 1 0;0 0 1;a = ;b = ;c = ;y = zeros12,1;% 初始化输入y1:3 = yinit;y4:12 = orthmatrix;tstart = 0; % 时间初始值tstep = 1e-3; % 时间步长wholetimes = 1e5; % 总的循环次数steps = 10; % 每次演化的步数iteratetimes = wholetimes/steps; % 演化的次数mod = zeros3,1;lp = zeros3,1;% 初始化三个Lyapunov指数Lyapunov1 = zerositeratetimes,1;Lyapunov2 = zerositeratetimes,1;Lyapunov3 = zerositeratetimes,1;for i=1:iteratetimestspan = tstart:tstep:tstart + tstepsteps;T,Y = ode45'Rossler_ly', tspan, y;% 取积分得到的最后一个时刻的值y = YsizeY,1,:;% 重新定义起始时刻tstart = tstart + tstepsteps;y0 = y4 y7 y10;y5 y8 y11;y6 y9 y12;%正交化y0 = ThreeGSy0;% 取三个向量的模mod1 = sqrty0:,1'y0:,1;mod2 = sqrty0:,2'y0:,2;mod3 = sqrty0:,3'y0:,3;y0:,1 = y0:,1/mod1;y0:,2 = y0:,2/mod2;y0:,3 = y0:,3/mod3;lp = lp+logabsmod;%三个Lyapunov指数Lyapunov1i = lp1/tstart;Lyapunov2i = lp2/tstart;Lyapunov3i = lp3/tstart;y4:12 = y0';end% 作Lyapunov指数谱图i = 1:iteratetimes;ploti,Lyapunov1,i,Lyapunov2,i,Lyapunov3程序中用到的ThreeGS程序如下:%G-S正交化function A = ThreeGSV % V 为33向量v1 = V:,1;v2 = V:,2;v3 = V:,3;a1 = zeros3,1;a2 = zeros3,1;a3 = zeros3,1;a1 = v1;a2 = v2-a1'v2/a1'a1a1;a3 = v3-a1'v3/a1'a1a1-a2'v3/a2'a2a2;A = a1,a2,a3;计算得到的Rossler系统的LE为————Wolf文章中计算得到的Rossler系统的LE为———— 0需要注意的是——定义法求解的精度有限,对有些系统的计算往往出现计果和理论值有偏差的现象;正交化程序可以根据上面的扩展到NN向量,这里就不加以说明了,对matlab用户来说应该还是比较简单的2Jacobian方法通过资料检索,发现论坛中用的较多的LET工具箱的算法原理就是Jacobian方法;基本原理就是首先求解出连续系统微分方程的近似解,然后对系统的Jacobian矩阵进行QR分解,计算Jacobian矩阵特征值的乘积,最后计算出LE和分数维;经过计算也证明了这种方法精度较高,对目前常见的混沌系统,如Lorenz、Henon、Duffing等的Lyapunov指数的计算精度都很高,而且程序编写有一定的规范,个人很推荐使用;虽然我自己要做的系统并不适用LET工具箱可以在网络上找到,这里就不列出了关于LET工具箱如果有问题,欢迎加入本帖讨论Jacobian法求解Lyapunov指数.JPG对离散动力系统,或者说是非线性时间序列,往往不需要计算出所有的Lyapunov指数,通常只需计算出其最大的Lyapunov指数即可;“1983年,格里波基证明了只要最大Lyapunov指数大于零,就可以肯定混沌的存在”;目前常用的计算混沌序列最大Lyapunov指数的方法主要有一下几种:1由定义法延伸的Nicolis方法2Jacobian方法3Wolf方法4P-范数方法5小数据量方法其中以Wolf方法和小数据量方法应用最为广泛,也最为普遍;下面对Nicolis方法、Wolf方法以及小数据量方法作一一介绍;1Nicolis方法这种方法和连续系统的定义方法类似,而且目前应用很有限制,因此只对其理论进行介绍,编程应用方面就省略了Nicolis方法求最大2Wolf方法Wolf方法求最大Wolf方法的Matlab程序如下:function lambda_1=lyapunov_wolfdata,N,m,tau,P% 该函数用来计算时间序列的最大Lyapunov 指数--Wolf 方法% m: 嵌入维数一般选大于等于10% tau:时间延迟一般选与周期相当,如我选2000% data:时间序列可以选1000;% N:时间序列长度满足公式:M=N-m-1tau=24000-10-11000=5000% P:时间序列的平均周期,选择演化相点距当前点的位置差,即若当前相点为I,则演化相点只能在|I-J|>P的相点中搜寻P=周期=600% lambda_1: 返回最大lyapunov指数值min_point=1 ; %&&要求最少搜索到的点数MAX_CISHU=5 ; %&&最大增加搜索范围次数%FLYINGHAWK% 求最大、最小和平均相点距离max_d = 0; %最大相点距离min_d = +100; %最小相点距离avg_dd = 0;Y=reconstitutiondata,N,m,tau; %相空间重构可将此段程序加到整个程序中,在时间循环内,可以保存时间序列的地方;见完整程序;M=N-m-1tau; %重构相空间中相点的个数for i = 1 : M-1for j = i+1 : Md = 0;for k = 1 : md = d + Yk,i-Yk,jYk,i-Yk,j;endd = sqrtd;if max_d < dmax_d = d;endif min_d > dmin_d = d;endavg_dd = avg_dd + d;endendavg_d = 2avg_dd/MM-1; %平均相点距离dlt_eps = avg_d - min_d ; %若在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 = +100; %第i个相点到其最近距离点的距离Loc_DK = 2; %第i个相点对应的最近距离点的下标for i = P+1:M-1 %限制短暂分离,从点P+1开始搜索d = 0;for k = 1 : md = d + Yk,i-Yk,1Yk,i-Yk,1;endd = sqrtd;if d < DK & d > min_epsDK = 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个log2DK1/DK的累计和用于求i点的lambda值sum_lmd = 0 ; % 存放前i个log2DK1/DK的累计和for i = 2 : M-1 % 计算演化距离DK1 = 0;for k = 1 : mDK1 = DK1 + Yk,i-Yk,Loc_DK+1Yk,i-Yk,Loc_DK+1;endDK1 = sqrtDK1;old_Loc_DK = Loc_DK ; % 保存原最近位置相点old_DK=DK;% 计算前i个log2DK1/DK的累计和以及保存i点的李氏指数if DK1 ~= 0& DK ~= 0sum_lmd = sum_lmd + logDK1/DK /log2;endlmdi-1 = sum_lmd/i-1; 此处可以保存不同相点i对应的李氏指数,见完整程序;; % 以下寻找i点的最短距离:要求距离在指定距离范围内尽量短,与DK1的角度最小 point_num = 0; % &&在指定距离范围内找到的候选相点的个数cos_sita = 0 ; %&&夹角余弦的比较初值——要求一定是锐角zjfwcs=0 ; %&&增加范围次数while point_num == 0% 搜索相点for j = 1 : M-1if absj-i <=P-1 %&&候选点距当前点太近,跳过continue;end%计算候选点与当前点的距离dnew = 0;for k = 1 : mdnew = dnew + Yk,i-Yk,jYk,i-Yk,j;enddnew = sqrtdnew;if dnew < min_eps| dnew > max_eps %&&不在距离范围,跳过continue;end%计算夹角余弦及比较DOT = 0;for k = 1 : mDOT = DOT+Yk,i-Yk,jYk,i-Yk,old_Loc_DK+1;endCTH = DOT/dnewDK1;if acosCTH > 3./4 %&&不是小于45度的角,跳过continue;endif CTH > cos_sita %&&新夹角小于过去已找到的相点的夹角,保留cos_sita = CTH;Loc_DK = j;DK = dnew;endpoint_num = point_num +1;endif point_num <= min_pointmax_eps = max_eps + dlt_eps;zjfwcs =zjfwcs +1;if zjfwcs > MAX_CISHU %&&超过最大放宽次数,改找最近的点DK = +100;for ii = 1 : M-1if absi-ii <= P-1 %&&候选点距当前点太近,跳过continue;endd = 0;for k = 1 : md = d + Yk,i-Yk,iiYk,i-Yk,ii;endd = sqrtd;if d < DK & d > min_epsDK = d;Loc_DK = ii;endendbreak;endpoint_num = 0 ; %&&扩大距离范围后重新搜索cos_sita = 0;endendend%取平均得到最大李雅普诺夫指数此处只有一个值,若为正说明体系是混沌的,若为负则说明体系是周期性的确定性运动lambda_1=sumlmd/lengthlmd;程序中用到的reconstitution函数如下:此段程序可直接放在时间循环内部,即可以保存时间序列的地方;见完整程序范例;function X=reconstitutiondata,N,m,tau%该函数用来重构相空间% m 为嵌入空间维数% tau 为时间延迟% data 为输入时间序列% N 为时间序列长度% X 为输出,是mn维矩阵M=N-m-1tau; %相空间中点的个数for j=1:M %相空间重构for i=1:mXi,j=datai-1tau+j;endend这里声明一下,这些程序并非我自己编写的,均是转载,其使用我已经验证过,绝对可以运行3小数据量方法说小数据量方法是目前最实用、应用最广泛的方法应该不为过吧,呵呵小数据量方法求最大Lyapunov指数.JPG上面两种方法,即Wolf方法和小数据量方法,在计算LE之前,都要求对时间序列进行重构相空间,重构相空间的优良对于最大LE的计算精度影响非常大因此重构相空间的几个参数的确定就非常重要;1时间延迟主要推荐两种方法——自相关函数法、C-C方法自相关函数法——对一个混沌时间序列,可以先写出其自相关函数,然后作出自相关函数关于时间t的函数图像;根据数值试验结果,当自相关函数下降到初始值的1-1/e时,所得的时间t即为重构相空间的时间延迟;C-C方法——可以同时计算出时间延迟和时间窗口,个人推荐使用这种方法2平均周期平均周期的计算可以采用FFT方法;在matlab帮助中有一个太阳黑子的例子,现摘录如下:load %装载数据文件year = sunspot:,1; %读取年份信息wolfer = sunspot:,2; %读取黑子活动数据plotyear,wolfer %绘制原始数据图title'Sunspot Data'Y = fftwolfer; %快速FFT变换N = lengthY; %FFT变换后数据长度Y1 = ; %去掉Y的第一个数据,它是所有数据的和power = absY1:N/2.^2; %求功率谱nyquist = 1/2;freq = 1:N/2/N/2nyquist; %求频率plotfreq,power, grid on %绘制功率谱图xlabel'cycles/year'title'Periodogram'period = 1./freq; %年份周期plotperiod,power, axis0 40 0 2e7, grid on %绘制年份-功率谱曲线ylabel'Power'xlabel'PeriodYears/Cycle'mp,index = maxpower; %求最高谱线所对应的年份下标periodindex %由下标求出平均周期3嵌入维数目前嵌入维数的主要计算方法是采用Grassberger和Procaccia提出的G-P算法计算出序列的关联维数d,然后利用嵌入维数m>=2d+1,选取合适的嵌入维数;G—P算法程序如下:function ln_r,ln_C=G_Pdata,N,tau,min_m,max_m,ss% the function is used to calculate correlation dimention with G-P algorithm% 计算关联维数的G-P算法% data:the time series 时间序列% N: the length of the time series 时间序列长度% tau: the time delay 时间延迟% min_m:the least embedded dimention m 最小的嵌入维数% max_m:the largest embedded dimention m 最大的嵌入维数% ss:the stepsize of r r的步长%skyhawkfor m=min_m:max_mY=reconstitutiondata,N,m,tau;%reconstitute state spaceM=N-m-1tau;%the number of points in state spacefor i=1:M-1for j=i+1:Mdi,j=maxabsY:,i-Y:,j;%calculate the distance of each twoend %points in state space 计算状态空间中每两点之间的距离endmax_d=maxmaxd;%the max distance of all points 得到所有点之间的最大距离d1,1=max_d;min_d=minmind;%the min distance of all points 得到所有点间的最短距离 delt=max_d-min_d/ss;%the stepsize of r 得到r的步长for k=1:ssr=min_d+kdelt;Ck=correlation_integralY,M,r;%calculate the correlation integralln_Cm,k=logCk;%lnCrln_rm,k=logr;%lnrfprintf'%d/%d/%d/%d\n',k,ss,m,max_m;endplotln_rm,:,ln_Cm,:;hold on;endfid=fopen'','w';fprintffid,'% %\n',ln_r;fclosefid;fid = fopen'','w';fprintffid,'% %\n',ln_C;fclosefid;程序中的correlation_integral函数如下:function C_I=correlation_integralX,M,r%the function is used to calculate correlation integral%C_I:the value of the correlation integral%X:the reconstituted state space,M is a mM matrix%m:the embedding demention%M:M is the number of embedded points in m-dimensional sapce%r:the radius of the Heaviside function,sigma/2<r<2sigma%calculate the sum of all the values of Heaviside%skyhawksum_H=0;for i=1:M% fprintf'%d/%d\n',i,M;for j=i+1:Md=normX:,i-X:,j,inf;%calculat the distances of each two points in matris M with sup-normsita=heavisider,d;%calculate the value of the heaviside functionsum_H=sum_H+sita;endendC_I=2sum_H/MM-1;%the value of correlation integral发布于2007-08-03 20:35:01感谢octopussheng的总结这是现有的方法的一个总结,不知道你对这些方法有些什么体会,或者说他们的局限,现在还有作这方面的改进的吗先总结总结,具体的比较会逐步贴出来的,而且这也需要大家的一起努力啊光是我在这里说,也只是我自己的一点体会,希望用过这些方法的一起来参与这个总结工作以上的各种方法在实际应用的时候要根据具体情况来选择;一般地,如果已知系统方程当然系统不能太过复杂时,则计算Lyapunov指数采用定义法、Jacobian方法要精确、简单些而如果系统方程比较复杂如超维系统、或者为一时间序列时,则推荐采样Wolf 方法、小数据量方法;Wolf方法的特点是时间序列无噪声,空间中小向量的演变高度非线性,而Jacobian 方法则是噪声大,空间中小向量的演变接近线性;小数据量方法的优点在于:1对小数据组的计算可靠;2计算量较小,比wolf方法快很多;3编程、操作较为容易;而关于时间延迟、嵌入维数、平均周期的确定,还是推荐C-C方法和G-P算法,结果更为可靠一些你这已经做得很好了;这个具体的应用我也是做得很少的,还有请注意一下matlab版中的一个帖子, 早就注意了,我这里面一些代码就是从那边套用的试过了吗都没有问题吧计算起来,原来论坛里面一些程序不能运行,套用,那你就要注意,在这里重写就要有我们的特色;不能够是简单的重请详细读帖子,上面有说明,当然不是简单的重复啦,我这里是理论结合实践,呵呵程序都测试能算的,不过对不同的系统,精度不敢保证的太高,呵呵,只要能运行就可以参照自己来编写精度可以根据自己需要来选择呵呵,确实,保证能够使用希望这样总结一下对大家有所帮助吧非常有价值;谢谢。
关于Lyapunov指数计算方法的比较

( col fEetcl n uo ainE g er g aj gN r l nvrt,N nig2 04 C ia S ho o lc a a dA tm t ni ei ,N ni oma U iesy aj 10 2, hn ) i r o n n n i n
Ke y wor s: L a un v e p n n s,L rnzs se ,c a s s se d y p o x o e t o e y tm h o y tm
混 沌从本 质上 说是 指在确 定性 系统 中 出现的一 种貌 似无 规则 、 类似 随机 的现象 . 混沌 系统 的基本 特点 是运动对初值条件极为敏感 , 两个 靠近的初值产生的轨道随时 问推移按 指数方式分离 ,ypnv指数 Lauo ( E) L 就是 定量 描述 这一现 象 的量 , 衡量 系统 动力 学 特性 的一个 重 要 定 量指 标 , 表征 了系 统在 相 空 间 是 它 中相邻 轨道 间收敛 或发 散 的平 均指 数率 u . 如何 快速 、 准确 地计 算 出 L E是分 析混 沌 系统 的关 键 , 年 来 国 内学者 对 L 近 E的计 算 方 法做 了很 多研 究 , a n 利用 定 义法求 解 了 l ii 型的最 大 lauo Y nWe o sc模 gt yp nv指数 (L 、i _利 用 w l法 计算 出几种 L E)La 4 o o f 典 型混 沌 系统 L E、 n 在 比较 w l法 与 小 数 据 量 法 后 选 择 采 用 小 数 据 量 法 计 算 出 l ii 型 的 L Wag o f o sc模 gt L E、i 在 实际应 用 中又提 出改进 的小数 据量 法 . L Xe 对于不 同系 统可 以选 择 不 同的计 算 方法 , 然各 种 方 虽 法均取 得 了较 好 的计算 结果 , 同的计算 方法 可 以适用 于不 同 的系统 中 , 是 目前 对多 种 L 不 但 E计 算方 法 的 综合比较和选择依据的说 明很少. 本文讨论混沌吸引子的 Lauo 指数计算 问题, ypnv 主要是对实际应用中 常用 的几种 方法进 行 比较 , 即定 义法 、o 法 、 交法 和 小 数据 量 法 , wl 正 f 以典 型 的 Lrn oez系统 为 例 , 分别 用 各
Lyapunov指数计算算法的设计与实现

!$#
典型混沌系统的 ’()*+,-. 指数谱的计算
对典型混沌系统进行计算, 如 /0,-, , ’-40,5, 9+::;,< 系 统
等, 计算结果如表 2 所示。
表2 典型混沌系统的 ’()*+,-. 指数谱和分数维
’()*+,-. 指数谱 "$#!", >2$6!# 2$&"6, "$""2, >!!$&"& ", >"$!"@ "$2"@,
8)9-:; 矩阵
’()*+,-. 指数
条件 ’()*+,-. 指数 文献标识码 R
分数维
文章编号 0""!EG%%0E (!""# ) %&E""0!E"%
中图分类号 STU00$#
)*+,-& #&. /0$1*0*&2#2,’& ’3 !"#$%&’( 45$’&*&2+ 6#17%1#2,&- 81-’9,2:0
(! )
0$!
’()*+,-. 指数的物理意义
系 统 的 ’()*+,-. 指 数 谱 可 有 效 地 表 征 变 量 随 时 间 演 化
,- &./!
) & 0
!) E!) F0
(% )
基金项目: 湖南省自然科学基金项目 (编号: "088\!00" ) 作者简介: 孙克辉 (0]>GE ) , 男, 副教授, 博士生, 从事混沌同步及其保密通信研究。张泰山 (0]%GE ) , 男, 教授, 博士生导师。
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. 混沌系统的控制通过统计物理计算方法,我们可以分析混沌系统的特性和行为,并设计相应的控制策略。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
不光滑混沌系统的Lyapunov指数计算作者姓名:王欣欣指导教师:张玺麟副教授单位名称:电气自动化研究所专业名称:自动化清华大学2006年6月Computation of Lyapunov Exponents of Non-smooth Chaotic Systemsby Wang XinxinSupervisor: Associate Professor Zhang XilinTsinghua UniversityJune 2006清华大学本科毕业设计(论文) 毕业设计(论文)任务书毕业设计(论文)任务书毕业设计(论文)题目:不光滑混沌系统的Lyapunov指数计算设计(论文)的基本内容:1.对混沌理论和Lyapunov指数相关信息进行研究;2.仔细研究相空间重构理论和求Lyapunov指数的算法;3.确定算法,并进行编程;4.求解Chua电路和振动系统的Lyapunov指数,并分析是否混沌;5.总结全文。
毕业设计(论文)专题部分:题目:设计或论文专题的基本内容:学生接受毕业设计(论文)题目日期第 1 周指导教师签字:2006年3月9日不光滑混沌系统的Lyapunov指数计算摘要混沌理论是20世纪三大科学革命之一。
从理论出现到现今,随着计算机技术的飞速前进,以及越来越多的学者关注混沌理论,混沌理论得到了巨大的发展。
其中,判断系统是否混沌的一个非常重要的指标就是Lyapunov指数。
可以比较容易的判断系统是否混沌。
首先本文介绍了混沌理论和Lyapunov指数,包括它们的定义、发展史及判断方法。
然后本文对重构相空间和Lyapunov指数进行了着重介绍,包括它们的定义,性质和算法。
本文用到的计算算法是C-C方法和Wolf方法(C-C法计算嵌入维数和延迟时间,Wolf方法计算最大Lyapunov指数),并且进行了相应的编程工作。
然后本文对Chua电路和振动系统进行了Lyapunov指数计算。
再改变参数,计算Lyapunov指数,分析出系统不同参数下的混沌性。
说明了混沌系统敏感依赖于参数和初始值。
最后总结全文,对所做工作和课题进行了展望。
关键词:Lyapunov指数,重构相空间,Chua电路,混沌,Wolf算法Computation of Lyapunov Exponents of Non-smooth Chaotic SystemsAbstractChaos theory is considered as the one of three scientific revolutions in 20th century. From the time that chaotic theory appeared to now, as the rapid development of computer technology, more and more scholars concerned about the chaos theory, and chaos theory has been so tremendous development.Where, a very important indicator to judge whether the system is chaotic is the Lyapunov exponent. It can be easier to judge whether the system is chaotic.First, this dissertation introduces chaos theory and the Lyapunov exponents, including their definition, history, and diagnosis method.Then, this article introduces the reconstruction of phase space and Lyapunov exponents detailedly, including their definition, character and algorithms. Algorithms used in this dissertation are Wolf and CC method (CC method is used to calculate embedding dimension and delay time, Wolf is used to calculate the maximum Lyapunov exponent), and these algorithms are programmed.And then, this dissertation calculates Lyapunov exponents of Chua circuit and vibration system. Then changing the parameters, calculate the Lyapunov exponents, judge that systems with different parameters is chaotic. Illustrates the sensitivity of that chaotic systems dependent on the parameters and initial value.Finally, conclude this dissertation, prospect this thesis.Keywords: Lyapunov exponent, phase space reconstruction, Chua circuit, chaos, Wolf method目 录毕业设计(论文)任务书 (I)摘要 (II)ABSTRACT (III)第一章绪论.........................................................................................................................- 1 -1.1背景和意义 (1)1.2混沌理论和相关知识 (1)1.2.1混沌的定义..........................................................................................................- 1 -1.2.2混沌发展史..........................................................................................................- 2 -1.2.3混沌的基本特征..................................................................................................- 6 -1.2.4混沌的判别方法..................................................................................................- 7 - 1.3 Lyapunov指数. (7)1.3.1 Lyapunov指数的现状.........................................................................................- 7 -1.3.2 Lyapunov指数的性质.........................................................................................- 8 - 1.4本文内容介绍.. (9)第二章相空间重构及其参数选择....................................................................................- 11 -2.1概述. (11)2.2相空间重构相关理论 (11)2.2.1相空间重构理论的概述....................................................................................- 11 -2.2.2 Taknes定理........................................................................................................- 12 - 2.3重构相空间参数的求取.. (13)2.3.1求取时间延迟τ的方法....................................................................................- 13 -2.3.2求取嵌入维数m的方法...................................................................................- 14 -2.3.3同时求取嵌入维数m和时间延迟τ的方法(C-C法)................................- 14 - 2.4本章小结.. (18)第三章 Lyapunov指数....................................................................................................- 19 -3.1Lyapunov指数的定义.. (19)3.2关于Lyapunov指数的性质 (21)3.3计算Lyapunov指数的方法 (23)3.4本章小结 (24)第四章具体算法及实现...................................................................................................- 25 -4.1微分方程求解 (25)4.2C-C算法的具体实现 (26)4.2.1子程序设计:....................................................................................................- 27 -4.2.2主程序设计........................................................................................................- 29 - 4.3Wolf算法的具体实现.. (31)4.4本章小结 (32)第五章不光滑系统的Lyapunov指数和分析..................................................................- 33 -5.1 Chua电路及其Lyapunov指数计算 (33)5.1.1 Chua电路介绍...................................................................................................- 33 -5.2.2 Chua电路的化简...............................................................................................- 36 -5.3.3不同参数下Chua电路的混沌性......................................................................- 36 - 5.2振动系统的Lyapunov指数计算 (40)5.2.1振动系统的介绍和化简....................................................................................- 40 -5.2.2振动系统的Lyapunov指数计算......................................................................- 42 - 5.3本章小结.. (44)第六章总结与展望...........................................................................................................- 45 -参考文献.............................................................................................................................- 47 - 致谢.....................................................................................................................................- 51 -第一章 绪论1.1背景和意义随着科技的发展,混沌理论被越来越多的人熟知,尤其是计算机技术的飞速发展,计算机求解复杂方程时,精度和速度都达到了理想要求,而且混沌理论在越来越多的领域都有涉及,所以混沌的发展是前途光明的。