**Description:** Lyapunov exponent calcullation for ODE-system. The alogrithm employed in this m-file for determining Lyapunov exponents was proposed in 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, 1985.
For integrating ODE system can be used any MATLAB ODE-suite methods.
This function is a part of MATDS program - toolbox for dynamical system investigation See: http://www.math.rsu.ru/mexmat/kvm/matds/
Input parameters: n - number of equation rhs_ext_fcn - handle of function with right hand side of extended ODE-system. This function must include RHS of ODE-system coupled with variational equation (n items of linearized systems, see Example). fcn_integrator - handle of ODE integrator function, for example: @ode45 tstart - start values of independent value (time t) stept - step on t-variable for Gram-Schmidt renormalization procedure. tend - finish value of time ystart - start point of trajectory of ODE system. ioutp - step of print to MATLAB main window. ioutp==0 - no print, if ioutp>0 then each ioutp-th point will be print.
Output parameters: Texp - time values Lexp - Lyapunov exponents to each time value.
Users have to write their own ODE functions for their specified systems and use handle of this function as rhs_ext_fcn - parameter.
Example. Lorenz system: dx/dt = sigma*(y - x) dy/dt = r*x - y - x*z dz/dt = x*y - b*z
The Jacobian of system: | -sigma sigma 0 | J = | r-z -1 -x | | y x -b |
Then, the variational equation has a form: F = J*Y where Y is a square matrix with the same dimension as J. Corresponding m-file: function f=lorenz_ext(t,X) SIGMA = 10; R = 28; BETA = 8/3; x=X(1); y=X(2); z=X(3); Y= [X(4), X(7), X(10); X(5), X(8), X(11); X(6), X(9), X(12)]; f=zeros(9,1); f(1)=SIGMA*(y-x); f(2)=-x*z+R*x-y; f(3)=x*y-BETA*z; Jac=[-SIGMA,SIGMA,0; R-z,-1,-x; y, x,-BETA]; f(4:12)=Jac*Y;
% Run Lyapunov exponent calculation: [T,Res]=lyapunov(3,@lorenz_ext,@ode45,0,0.5,200,[0 1 0],10); See files: lyapunov.m - algorithm lorenz_ext - Lorenz system extended rhs run_lyap - example of calling and result visualization Govorukhin V.N. This file is intended for use with MATLAB and was produced for MATDS-program http://www.math.rsu.ru/mexmat/kvm/matds/ lyapunov.m is free software. lyapunov.m is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. |