matlab_ode_solver, an Octave code which solves one or more differential equations (ODE) using a method of a particular order, either explicit or implicit. Some methods require a nonlinear equation solver. Some methods used a fixed stepsize, while others adapt the stepsize based on an error estimate.
The information on this web page is distributed under the MIT license.
matlab_ode_solver is available in a C version and a C++ version and a Fortran90 version and a MATLAB version and an Octave version.
backward_euler, an Octave code which solves one or more ordinary differential equations (ODE) using the (implicit) backward Euler method, using a version of fsolve() for the implicit equation.
backward_euler_fixed, an Octave code which solves one or more ordinary differential equations (ODE) using the (implicit) backward Euler method, using fixed point iteration to solve the implicit equation.
bdf2, an Octave code which solves one or more ordinary differential equations (ODE) using the (implicit) backward difference formula of order 2 (BDF2), using fsolve() to solve the implicit equation.
cauchy_method, an Octave code which solves one or more ordinary differential equations (ODE) using the Cauchy method.
euler, an Octave code which solves one or more ordinary differential equations (ODE) using the forward Euler method.
fsolve_test, an Octave code which solves systems of nonlinear equations, inspired by the fsolve() function in minpack(), with special interfaces fsolve_bdf2(), fsolve_be() and fsolve_tr() for handling systems associated with implicit ODE solvers of type bdf2, backward Euler, midpoint, or trapezoidal.
leapfrog, an Octave code which uses the leapfrog method to solve a second order ordinary differential equation (ODE) of the form y''=f(t,y).
midpoint, an Octave code which solves one or more ordinary differential equations (ODE) using the (implicit) midpoint method, with a version of fsolve() handling the associated nonlinear equations, and using a fixed time step.
midpoint_adaptive, an Octave code which solves one or more ordinary differential equations (ODE) using the (implicit) midpoint method, relying on fsolve() to solve the implicit equation, and using an adaptive timestep.
midpoint_explicit, an Octave code which solves one or more ordinary differential equations (ODE) using the (explicit) midpoint method.
midpoint_fixed, an Octave code which solves one or more ordinary differential equations (ODE) using the (implicit) midpoint method, using a fixed point method for the implicit equation.
rk1, an Octave code which solves one or more ordinary differential equations (ODE) using an explicit Runge-Kutta method of order 1, usually known as Euler's explicit method.
rk1_implicit, an Octave code which solves one or more ordinary differential equations (ODE) using the Runge-Kutta order 1 implicit method, using fsolve() to solve the implicit equation, and using a fixed time step. rk1_implicit() is commonly called the backward Euler method.
rk12, an Octave code which implements Runge-Kutta solvers of orders 1 and 2 for a system of ordinary differential equations (ODE).
rk2, an Octave code which solves one or more ordinary differential equations (ODE) using an explicit Runge-Kutta method of order 2, also known as Heun's method, the explicit midpoint method, or the modified Euler method.
rk2_implicit, an Octave code which solves one or more ordinary differential equations (ODE) using the Runge-Kutta order 2 implicit method, using fsolve() to solve the implicit equation, and using a fixed time step. rk2_implicit() is also known as the implicit midpoint method.
rk23, an Octave code which implements Runge-Kutta ODE solvers of orders 2 and 3.
rk34, an Octave code which implements Runge-Kutta ODE solvers of orders 3 and 4.
rk4, an Octave code which applies the fourth order Runge-Kutta (RK) algorithm to estimate the solution of an ordinary differential equation (ODE).
rk45, an Octave code which implements Runge-Kutta ODE solvers of orders 4 and 5.
rkf45, an Octave code which implements the Runge-Kutta-Fehlberg solver for ordinary differential equations (ODE).
theta_method, an Octave code which solves one or more ordinary differential equations (ODE) using the theta method.
trapezoidal, an Octave code which solves one or more ordinary differential equations (ODE) using the (implicit) trapezoidal method, and a version of fsolve() to handle the nonlinear equation.
trapezoidal_explicit, an Octave code which solves one or more ordinary differential equations (ODE) using the (explicit) trapezoidal method.
trapezoidal_fixed, an Octave code which solves one or more ordinary differential equations (ODE) using the (implicit) trapezoidal method, using the fixed point method to handle the implicit system.
velocity_verlet, an Octave code which uses a version of the velocity Verlet method to solve a secord order ordinary differential equation (ODE) of the form y''=f(t,y).