LET

所属分类:matlab编程
开发工具:matlab
文件大小:35KB
下载次数:33
上传日期:2011-10-02 10:57:56
上 传 者bamboo7zhu7
说明:  Lyapunov Exponents Toolbox (LET) provides a graphical user interface (GUI) for users to determine the full sets of Lyapunove exponents and dimension of their specified chaotic systems. This version of LET can only run on MATLAB 5 or higher versions of MATLAB. It has been tested under Windows and Unix. LET may also run on other platforms. The original version of LET has only 200 lines while the GUI version of LET has almost 2000 lines. The GUI makes the program become more sophisticated and run slower but allows the users to observe the calculated results immediately, so that they can decide whether the results are convergent or not.
(Lyapunov Exponents Toolbox (LET) provides a graphical user interface (GUI) for users to determine the full sets of Lyapunove exponents and dimension of their specified chaotic systems. This version of LET can only run on MATLAB 5 or higher versions of MATLAB. It has been tested under Windows and Unix. LET may also run on other platforms. The original version of LET has only 200 lines while the GUI version of LET has almost 2000 lines. The GUI makes the program become more sophisticated and run slower but allows the users to observe the calculated results immediately, so that they can decide whether the results are convergent or not.)

文件列表:
LET\demoparm.m (8338, 1998-07-09)
LET\duffing.m (1839, 1998-07-09)
LET\findlyap.m (10557, 1998-07-09)
LET\henon.m (1093, 1998-07-09)
LET\let.m (20015, 1998-07-09)
LET\lethelp.m (2244, 1998-07-09)
LET\logistic.m (650, 1998-07-09)
LET\lorenzeq.m (1409, 1998-07-09)
LET\new (11035, 2010-12-13)
LET\rossler.m (1190, 1998-07-09)
LET\sethelp.m (5555, 1998-07-09)
LET\setting.m (30822, 1998-07-09)
LET\startlet.m (5532, 1998-07-09)
LET\stewart.m (1265, 1998-07-09)
LET\test.m (1246, 2010-12-14)
LET\test001.m (1259, 2010-12-14)
LET\vderpol.m (1161, 1998-07-09)
LET (0, 2011-10-02)

% ========================================================================== % LYAPUNOV EXPONENTS TOOLBOX % ========================================================================== % % 1. ABOUT THE PROGRAM % % Lyapunov Exponents Toolbox (LET) provides a graphical user interface % (GUI) for users to determine the full sets of Lyapunove exponents % and dimension of their specified chaotic systems. % % This version of LET can only run on MATLAB 5 or higher versions of % MATLAB. It has been tested under Windows and Unix. LET may also % run on other platforms. % % The original version of LET has only 200 lines while the GUI version % of LET has almost 2000 lines. The GUI makes the program become more % sophisticated and run slower but allows the users to observe the % calculated results immediately, so that they can decide whether the % results are convergent or not. % % % 2. HOW TO USE THE PROGRAM % % To run the program, enter LET in MATLAB command window. In order to % run the program properly, all files of this toolbox must be in MATLAB % path. When a GUI window appears, users can run a demo program by % pressing the "Start demo" button or start the main program by pressing % the "Run LET main program" button. LET provides some well-known % chaotic systems for demonstrations. The users can choose one of them % from the pop-up menu. % % To calculate the Lyapunov exponents and dimension of a specified % system, follow the steps below: % % 1) write an ODE function that describes the specified system and its % variational equation (see details given below), % 2) enter LET in MATLAB command window, % 3) press the "Run LET main program" button in the startup window, % 4) press the "Setting" button in the main window, % 5) enter desired parameters in the setting window, % 6) when finish, press the "OK" button, % 7) press the "Start" button in the main window to start calculation. % % % 3. FILES IN THIS TOOLBOX % % LET contains the following m-files: % % 1) LET: main program % 2) STARTLET: program for setting up a startup window % 3) SETTING: program for creating a GUI window for users to input % parameters % 4) FINDLAYP: program for calculating Lyapunov exponents and dimension % 5) DEMOPARM: file that contains the parameters of demo systems % 6) LOGISTIC: ODE function of Logistic map and its variational equation % 7) HENON: ODE function of Henon map and its variational equation % 8) DUFFING: ODE function of Duffing's equation and its variational % equation % 9) LORENZEQ: ODE function of Lorenz equation and its variational % equation % 10) ROSSLER: ODE function of Rossler equation and its variational % equation % 11) VDERPOL: ODE function of Van Der Pol equation and its variatonal % equation % 12) STEWART: ODE function of Stewart-McCumber model and its % variational equation % 13) REAMDE: Help text of this toolbox % 14) LETHELP: Help text of LET main program % 15) SETHELP: Help text of setting window % % % 4. ALGORITHM EMPLOYED IN THIS TOOLBOX % % The alogrithm employed in this toolbox for determining Lyapunov % exponents is an integration of the two algorithms proposed in % % [1] 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, 1***5. % % [2] J. P. Eckmann and D. Ruelle, "Ergodic Theory of Chaos and Strange % Attractors," Rev. Mod. Phys., Vol. 57, pp. 617-656, 1***5. % % respectively. % % For first-order systems, the algorithm given in [1] is used for its % easy implementation and high speed. For higher order systems, the % QR-based algorithm proposed in [2] is applied. % % % 5. WRITE THE ODE FUNCTION FOR A SPECIFIED SYSTEM % % In order to calculate the Lyapunov exponents of specified systems, % users have to write their own ODE functions for their specified % systems. ODE functions of continuous systems are a little bit % different from that of discrete systems. Both of them will be % discussed. % % A. Continuous systems % % Let's take the Lorenz system as an example. % % The Lorenz system is governed by the following ODEs: % % dx/dt = a*(y - x) = f1 % dy/dt = r*x - y - x*z = f2 % dz/dt = x*y - b*z = f3 % % The first step is to calculate the Jacobian of the above system as % following: % % / \ / \ % | df1/dx df1/dy df1/dz | | -a a 0 | % | | | | % J = | df2/dx df2/dy df2/dz | = | r - z -1 -x | % | | | | % | df3/dx df3/dy df3/dz | | y x -b | % \ / \ / % % where df1/dx denotes the partial differentiation of f1 with % respect to x. % % Then, write the variational equation as following: % % F = J*Q % % where Q is a square matrix with the same dimension as J. % Note: the diagonal elements of Q are distances between nearby % trajectories. Initially, Q is an identity matrix. Users % do not need to specify the initial conditions for Q. The % program will do it for them. % % Now, take the ODE function of Lorenz system (in file: LORENZEQ.M) % as an illustration example. % %--------------------------------------------------------------------------- % % Output data % % | ODE function name % % | | t (time), must be included in this case % % | | | Input data % % | | | | % function OUT = lorenzeq( t, X) % % % The first 3 elements of the input data X correspond to the % % 3 state variables of the Lorenz system. Restore them. % % The input data X is a 12-element vector in this case. % % Note: x is different from X % % x = X(1); y = X(2); z = X(3); % % % Parameters % a = 16; r = 45.92; b = 4; % % % Write the ODEs of Lorenz system here: % dx = a*(y - x); % dy = -x*z + r*x - y; % dz = x*y - b*z; % % % Q is a 3 by 3 matrix, so it has 9 elements. % % Since the input data is a column vector, rearrange % % the last 9 elements of the input data in a square matrix. % % Q = [X(4), X(7), X(10); % X(5), X(8), X(11); % X(6), X(9), X(12)]; % % % Linearized system (Jacobian) % J = [ -a, a, 0; % r - z, -1, -x; % y, x, -b]; % % % Multiply J by Q to form a variational equation % F = J*Q; % % % The final step is to output the data which contains % % dx, dy, dz and F. The output data must be a column vector. % % If F is of the following form: % % % % / \ % % | a d g | % % | | % % F = | b d h | % % | | % % | c f i | % % \ / % % % % the output data must be of the following form: % % % % OUT = [dx, dy, dz, a, b, c, d, ..., h, i]'; % % % In MATLAB's language, it can be expressed simply as: % OUT = [dx; dy; dz; F(:)]; %----------------------------------------------------------------------- % % The above procedures are for autonomous systems only. Non-autonomous % systems have to be transformed to autonomous systems. This can be % done by introducing a new state variable (say z ). % Let's take the Duffing's equation as an example: % % dx/dt = y % dy/dt = -k*y - x^3 + B*cos(t) % % Duffing's equation is non-autonomous since it is explicitly dependent % on t. To change it to autonomous, let z = t, and then this second-order % non-autonomous system can be expressed as a third-order autonomous % system as follows: % % dx/dt = y % dy/dt = -k*y -x^3 +B*cos(z) % dz/dt = 1 % % Its Jacobian can be determined as following: % % / \ % | 0 1 0 | % | | % J = | -3*x^2 -k -B*sin(z) | % | | % | 0 0 0 | % \ / % % Then, follow the procedures mentioned early to write the ODE % function for the system (see DUFFING.M for the ODE function). % % B. DISCRETE SYSTEMS % % The only difference between continuous and discrete ODE functions % is that continuous ODE functions have the time t as one input data % while discrete ODE functions do not. See the illustration below: % %------------------------------------------------------------------------ % % A continuous ODE function must include this input parameter % % | % % | % function OUT = lorenzeq(t, X) % : % : %------------------------------------------------------------------------ % % A discrete ODE function does not require the t-component % % % function OUT = henon(X) % : % : %------------------------------------------------------------------------ % % The remaining procedures of writing the ODE function for a discrete % system are the same as that for a continuous one. See HENON.M, % and LOGISTIC.M for references. % % For more details of writing ODE files, see the help text of ODEFILE % (can be obtained by choosing ODEFILE from the above pop-up menu). % % 6. ACKNOWLEDGMENT % % The author would like to thank Dr. Keith Briggs for his kindly help % and sending his Fortran Lyapunov exponent program to the author for % reference. % % % 7. ABOUT THE AUTHOR % % The author of LET is Steve Wai Kam SIU, who is currently a research % student of City University of Hong Kong. He is with the department % of Electronic Engineering. Steve's research interests include % the application of chaos to secure communications, chaos control, % synchronization of chaotic systems, and nonlinear dynamics of phase- % locked loops. % % % Although full support of this program is not available, the users can % send comments and bug reports to the author so that he can improve the % program. % % %------------------------------------------------------------------------- % % Steve Wai Kam SIU % Department of Electronic Engineering % City University of Hong Kong % Tat Chee Avenue, Kowloon, HONG KONG % % E-mail address: wksiu@ee.cityu.edu.hk % %-------------------------------------------------------------------------- % % See also: LETHELP, SETHELP, and ODEFILE % by Steve W. K. SIU, July 7, 19***. help readme

近期下载者

相关文件


收藏者