midpoint


midpoint, a Fortran77 code which solves one or more ordinary differential equations (ODE) using the (implicit) midpoint method, with a version of fsolve() handling the associated nonlinear equation, and using a fixed time step.

Each midpoint step requires the solution of an implicit nonlinear equation representing a backward Euler step. A corresponding function has been devised, called fsolve_be(), which carries out the iterative solution process.

Licensing:

The computer code and data files described and made available on this web page are distributed under the MIT license

Languages:

midpoint is available in a C version and a C++ version and a Fortran77 version and a Fortran90 version and a FreeFem++ version and a MATLAB version and an Octave version and a Python versionand an R version.

Related Data and codes:

midpoint_test

fsolve_be, a Fortran77 code which solves systems of nonlinear equations represented as an implicit backward Euler residual.

midpoint_explicit, a Fortran77 code which solves one or more ordinary differential equations (ODE) using the (explicit) midpoint method, also called the modified Euler method.

midpoint_fixed, a Fortran77 code which solves one or more ordinary differential equations (ODE) using the (implicit) midpoint method, using fixed point iteration for the nonlinear equation.

minpack, a Fortran77 code which solves systems of nonlinear equations, or the least squares minimization of the residual of linear or nonlinear equations, by Jorge More, Danny Sorenson, Burton Garbow, Kenneth Hillstrom.

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

Reference:

  1. Catalin Trenchea, John Burkardt,
    Refactorization of the midpoint rule,
    Applied Mathematics Letters,
    Volume 107, September 2020.

Source Code:


Last revised on 10 November 2023.