 # Systems of Ordinary Differential Equations (initial value problem)

These routines are implemented as MATLAB extensions for Windows and Linux (both 32 and 64 bits). They work 3-5 times faster than the fastest native MATLAB ode* function for each system I tested, including stiff ones. Besides that they guarantee precision on each step of integration because they use Runge's rule (except England's process using difference between 4th and 5th order methods as a residual measure). I noticed that not all systems can be solved by native MATLAB ode* functions with given precision (see samples provided with the packages). The extensions provided below don't have this issue.

The following algorithms are currently implemented:

 MATLAB Extension System Algorithm odeEngland X'=F(t,X) Runge-Kutta process modification developed by R. England. R. England. "Error Estimates for Runge-Kutta Type Solutions to Systems of Ordinary Differential Equations" // Research and Development Department, Pressed Steel Fisher Ltd., Cowley, Oxford, UK. October 1968 odeLawson X'=F(t,X) Exponential method modification developed by J.D. Lawson. It's recommended for linear and quasi-linear systems including stiff ones. The method is A-stable for linear systems, i.e. residuals do not depend on time step length. Lawson J.D. Generalized Runge-Kutta processes for stable systems with large Lipschitz constants // SIAM Journal on Numerical Analysis, 1967, V. 4, No 3. odeLawsonA X'=A(t)X + Fi(t) as above odeLawsonU X'=BX + u(t,X) as above odeRosenbrock X'=F(t,X) Implicit process developed by H.H. Rosenbrock. It's recommended for non-linear systems including stiff ones. H.H. Rosenbrock "Some general implicit processes for the numerical solution of differential equations" Comput. J., 5 (1963) pp.329-330. odeRosenbrockA X'=F(X) same as above but developed for autonomous systems
Copyright (c) Sergei Nikolaev, 1992-2016. Welcome to my personal page. 