File Exchange

image thumbnail

ode87 Integrator

version (4.2 KB) by Vasiliy Govorukhin
This program integrates ode system with high accuracy.


Updated 19 Jun 2003

View License

ODE87 is a realization of explicit Runge-Kutta method. Integrates a system of ordinary differential equations using 8-7 th order Dorman and Prince formulas. See P.J. Prince & J.R. Dorman (1981) High order embedded Runge-Kutta formulae. J.Comp. Appl. Math., Vol. 7. p.67-75.

This is a 8th-order accurate integrator therefore the local error normally expected is O(h^9). This requires 13 function evaluations per integration step.

Some information about method can be found in Hairer, Norsett and Wanner (1993): Solving Ordinary Differential Equations. Nonstiff Problems. 2nd edition. Springer Series in Comput. Math., vol. 8.

Interface to program based on standart MATLAB ode-suite interface but with some restriction.

This file is intended for use with MATLAB and was produced for MATDS-program (see

Cite As

Vasiliy Govorukhin (2020). ode87 Integrator (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (15)

Can this file integrate in case of specific time steps? I mean if [tspan] has more than two elements can it integrate?

Dogba Djaze

Perfect working!!! Thank you very much

Tom Ashbee

Fast. About 4 times speed up compared to a custom rk4 scheme I was using to solve Hamiltonian equations.

can anybody help me to understand how to use it in MATLAB? How to use it with my ode? If I run this file it shows the error at line 79. Please help me ASAP.

Jian Xu

I need to integrate orbit-problems



Amita Deb

I used this for integrating Schroedinger equation in Quantum Mechanics for a three-level system. As opposed to ode45, ode87 preserves normalization to a good extent (one part in 10^4 in my case).

pedro Risalazo Ccallo

ok, is good integration

alaa taha

iam worke in university of basrah

Oleg Roderick

ahmed esmail

Michal MatlabUser

Very good commented, clear easyly understandable, good for learning, the only thing involved in such a method would be truncation error ? (large number of floating point operations) but thanks to this code I was able to understand Runge Kutta Excellent job!

Igor Razdobreev

Fast, works with R13, R14 also.

didi Stankova


MATLAB Release Compatibility
Created with R12.1
Compatible with any release
Platform Compatibility
Windows macOS Linux