IVP Solver Toolbox Documentation
Copyright © 2021 Tamas Kis
Contents
Technical Documentation
Click here.
Opening this documentation using the MATLAB Command Window.
To open the home page (this page) of the toolbox documentation in MATLAB, type
doc_IVP
in the Command Window. To open the documentation of a specific function with name function_name from the Command Window, type
doc_IVP function_name
To open the PDF file with the technical documentation (Solving_Initial_Value_Problems_for_ODEs.pdf) from the Command Window, type
doc_IVP tech
Installation
The toolbox can be downloaded from File Exchange or GitHub. The downloaded zip folder contains the following:
- docs → Contains the HTML documentation needed by GitHub to deploy the online version of the toolbox documentation.
- examples → Contains examples for using various functions of the IVP Solver Toolbox, as well as examples for some more elementary concepts discussed in the technical documentation.
- INSTALL → Contains the toolbox installer (IVP Solver Toolbox.mltbx).
- licenses → Contains the software licenses.
- README.md → Markdown documentation for GitHub repository.
- Technical Documentation → Contains the technical documentation (Solving_Initial_Value_Problems_for_ODEs.pdf).
- toolbox → Contains all the functions specific to this toolbox.
- toolbox/doc → Contains a copy of all the files and functions needed to open both the toolbox documentation and the technical documentation directly from the MATLAB command window using the doc_IVP function.
- toolbox/lib → External libraries/functions required by this toolbox.
To install as a toolbox, simply open "IVP Solver Toolbox.mltbx" in the "INSTALL" folder. MATLAB will automatically perform the installation and add all the functions included in the toolbox to the MATLAB search path.
IVP Solvers
- solve_ivp Fixed-step IVP solvers for solving vector-valued initial value problems.
- solve_ivp_matrix Fixed-step IVP solvers for solving matrix-valued initial value problems.
Utilities for IVP Solvers
- expand_ivp_arrays Expands the arrays storing the IVP solution.
- mat2vec_ODE Transforms a matrix-valued ODE into a vector-valued ODE.
- mat2vec_IC Transforms the initial condition for a matrix-valued IVP into the initial condition for its corresponding vector-valued IVP.
- mat2vec_E Transforms the event function for a matrix-valued IVP into the event function for its corresponding vector-valued IVP.
- vec2mat_sol Transforms the solution matrix for a vector-valued IVP into the solution array for its corresponding matrix-valued IVP.
Single-Step Methods
- RK1_euler Propagates the state vector forward one time step using the Euler method (1st-order).
- RK2 Propagates the state vector forward one time step using the midpoint method (2nd-order).
- RK2_heun Propagates the state vector forward one time step using Heun's second-order method (2nd-order).
- RK2_ralston Propagates the state vector forward one time step using Ralston's second-order method (2nd-order).
- RK3 Propagates the state vector forward one time step using (Kutta's) Runge-Kutta third-order method (3rd-order).
- RK3_heun Propagates the state vector forward one time step using Heun's third-order method (3rd-order).
- RK3_ralston Propagates the state vector forward one time step using Ralston's third-order method (3rd-order).
- SSPRK3 Propagates the state vector forward one time step using the strong stability preserving Runge-Kutta third-order method (3rd-order).
- RK4 Propagates the state vector forward one time step using the (classic) Runge-Kutta fourth-order method (4th-order).
- RK4_ralston Propagates the state vector forward one time step using Ralston's fourth-order method (4th-order).
- RK4_38 Propagates the state vector forward one time step using the 3/8-rule Runge-Kutta fourth-order method (4th-order).
Multistep Predictor Methods
- AB2 Propagates the state vector forward one time step using the Adams-Bashforth 2nd-order method.
- AB3 Propagates the state vector forward one time step using the Adams-Bashforth 3rd-order method.
- AB4 Propagates the state vector forward one time step using the Adams-Bashforth 4th-order method.
- AB5 Propagates the state vector forward one time step using the Adams-Bashforth 5th-order method.
- AB6 Propagates the state vector forward one time step using the Adams-Bashforth 6th-order method.
- AB7 Propagates the state vector forward one time step using the Adams-Bashforth 7th-order method.
- AB8 Propagates the state vector forward one time step using the Adams-Bashforth 8th-order method.
Multistep Predictor-Corrector Methods
- ABM2 Propagates the state vector forward one time step using the Adams-Bashforth-Moulton 2nd-order method.
- ABM3 Propagates the state vector forward one time step using the Adams-Bashforth-Moulton 3rd-order method.
- ABM4 Propagates the state vector forward one time step using the Adams-Bashforth-Moulton 4th-order method.
- ABM5 Propagates the state vector forward one time step using the Adams-Bashforth-Moulton 5th-order method.
- ABM6 Propagates the state vector forward one time step using the Adams-Bashforth-Moulton 6th-order method.
- ABM7 Propagates the state vector forward one time step using the Adams-Bashforth-Moulton 7th-order method.
- ABM8 Propagates the state vector forward one time step using the Adams-Bashforth-Moulton 8th-order method.
Generating IVP Solver Equations
- AB_coefficients Coefficients for the mth-order Adams-Bashforth predictor.
- AM_coefficients Coefficients for the mth-order Adams-Moulton corrector.
- AB_predictor mth-order Adams-Bashforth predictor.
- AM_corrector mth-order Adams-Moulton corrector.
- ABM_equations mth-order Adams-Bashforth-Moulton equations.
- tableau2eqns Propagation equations from Butcher tableau for explicit Runge-Kutta methods.
External Libraries
- initialize_waitbar Initializes a waitbar.
- same_denominator Scales a set of fractions so they each have the same denominator.
- update_waitbar Updates a waitbar.