matlab_ode_solver


matlab_ode_solver, a MATLAB 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.

Licensing:

The information on this web page is distributed under the MIT license.

Languages:

matlab_ode_solver is available in a C version and a C++ version and a Fortran90 version and a MATLAB version.

Related Data and codes:

backward_euler, a MATLAB 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, a MATLAB 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, a MATLAB 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, a MATLAB code which solves one or more ordinary differential equations (ODE) using the Cauchy method.

euler, a MATLAB code which solves one or more ordinary differential equations (ODE) using the forward Euler method.

fsolve_test, a MATLAB 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, a MATLAB code which uses the leapfrog method to solve a second order ordinary differential equation (ODE) of the form y''=f(t,y).

midpoint, a MATLAB 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, a MATLAB 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, a MATLAB code which solves one or more ordinary differential equations (ODE) using the (explicit) midpoint method.

midpoint_fixed, a MATLAB 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, a MATLAB 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, a MATLAB 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, a MATLAB code which implements Runge-Kutta solvers of orders 1 and 2 for a system of ordinary differential equations (ODE).

rk2, a MATLAB 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, a MATLAB 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, a MATLAB code which implements Runge-Kutta ODE solvers of orders 2 and 3.

rk34, a MATLAB code which implements Runge-Kutta ODE solvers of orders 3 and 4.

rk4, a MATLAB code which applies the fourth order Runge-Kutta (RK) algorithm to estimate the solution of an ordinary differential equation (ODE).

rk45, a MATLAB code which implements Runge-Kutta ODE solvers of orders 4 and 5.

rkf45, a MATLAB code which implements the Runge-Kutta-Fehlberg solver for ordinary differential equations (ODE).

theta_method, a MATLAB code which solves one or more ordinary differential equations (ODE) using the theta method.

trapezoidal, a MATLAB 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, a MATLAB code which solves one or more ordinary differential equations (ODE) using the (explicit) trapezoidal method.

trapezoidal_fixed, a MATLAB 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, a MATLAB 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).


Last revised on 15 November 2024.