# Solving ODEs with MATLAB

## by L.F. Shampine, I. Gladwell, S. Thompson

Introduction:
This is an excellent textbook that is very easy to read and follow. The problems are enjoyable and interesting. I would recommend it highly.

Matlab Code For Various Problems:
Chapter 1 (Getting Started):
• prob_1_5.m (global and local errors when solving with Euler's method)
• prob_1_15.m (Volterra's predator-prey interaction model with Euler's method)
• prob_1_15_ode45.m (Volterra's predator-prey interaction model with ode45)
Chapter 2 (Initial Value Problems):
• prob_2_8.m (numerically compare AB3 with a linear multistep method)
• prob_2_10_pt1.m (solving the harmonic oscillator with Heun's method)
• prob_2_10_pt2.m (solving the harmonic oscillator with the trapezoidal rule)
• prob_2_10_pt3.m (solving the harmonic oscillator with AM2)
• prob_2_13.m (an example of an unstable ODE)
• prob_2_15.m (an comparison of stiff an non stiff solvers on an ODE that becomes stiff)
• prob_2_16.m (plots of regions of stability for several linear multistep methods)
• prob_2_17.m (a demonstration as to the ease at which one can solve ODE's in Matlab)
• prob_2_18.m (graphical display of using a non-stiff solver on a stiff problem)
• prob_2_19.m (a model of thermal depletion of ozone solved with ode45)
• prob_2_20.m (the iteration matrix when using an implicit method on a stiff problem is ill-conditioned)
• prob_2_21.m (odephase2 and odephase3 to display phase space trajectories)
• prob_2_22.m (demonstration of solution differences as we vary a bifurcation parameter)
• prob_2_23.m (event location for the cork problem of Dormand)
• prob_2_24.m (event location for a cannon shot)
• prob_2_25.m (event location for the pendulum equation)
• prob_2_26.m (event location to determine a table of solution values)
• prob_2_27.m (experiments with the coefficient of restitution for ball bouncing)
• prob_2_28.m (ball bouncing with a terminal wall)
• prob_2_29.m (modification to the ODE's outfcn to terminate integration at domain boundaries)
• prob_2_30.m (the ozone model formulated with a mass matrix)
• prob_2_31.m (numerically integrate the equations of motion for rigid baton)
• prob_2_32.m (a continuous space, discrete time formulation of the "pump coast down" problem)
• prob_2_33.m (integrating the double pendulum model)
• prob_2_34.m (numerical verification that the ODE's resulting from the method of lines in example 2.3.9 are not stiff)
• prob_2_35.m (solve example 2.3.9 with periodic boundary conditions)
• prob_2_36.m (use the method of lines to solve the "quench front" problem of Laquer and Wendroff)
• prob_2_37.m (numerical integration of Emden's equation)
• prob_2_37.nb (mathematica code computing the Taylor series solution to Emden's equation)
• prob_2_38.m (numerical solution of Kamke's cylindrical space charge current)
• prob_2_38.nb (mathematical code computing the Taylor series solution to Kamke's IVP)
Chapter 3 (Boundary Value Problems):
• prob_3_1.m (Latzko's equation; a BVP with a well behaved singular point)
• prob_3_2.m (solving a BVP by developing an asymptotic expansion for its solution at the end points)
• prob_3_2.nb (mathematica code to derive the asymptotic expansion for problem 3_2)
• prob_3_3.m (BVP solution to the steady concentration of a substrate obeying Michaelis-Menten kinetics)
• prob_3_4.m (solving a nonlinear BVP using bvp4c)
• prob_3_5.m (numerically investigate the conditioning of the linear system the results from having a BC at infinity)
• prob_3_6.m (Murphy's extended BVP Falker-Skan similarity solution for laminar incompressible boundary layer flows)
• prob_3_7.m (a BVP for traveling wave solutions to a transport, reaction, and diffusion system)
• prob_3_8_pt1.m (solving the BVP resulting from the similarity solution for unsteady flow of a gas through a semi-infinite porous medium directly (no asymptotic expansion for large Z is used))
• prob_3_8_pt2.m (solving the BVP resulting from the similarity solution for unsteady flow of a gas through a semi-infinite porous medium using an asymptotic expansion for large Z)
• prob_3_9.m (solving the Thomas-Fermi BVP using the asymptotics of the solution as an initial guess)
• prob_3_9.nb (deriving the asymptotics of the Thomas-Fermi BVP using mathematica)
• prob_3_15.m (numerical conservation does not necessarily imply an accurate solution)
• prob_3_16.m (solving the BVP from cannon shot ballistics numerically)
• prob_3_17.m (Finlayson's axially dispersive turbulent reactor BVP)
• prob_3_18.m (Bailey et al.'s long thin cantilever beam BVP)
• prob_3_19.m (Caughy's large amplitude elastic string BVP)
• prob_3_20.m (the concentration and temperature fields in a turbulent reactor)
• prob_3_21.m (the axially symmetric shape that experiences the minimal resistance though a rarefied gas)
• prob_3_22.m (putting a pendulum at the top of its arc)
• prob_3_23.m (the Falkner-Skan BVP)
• prob_3_24.m (viscous incompressible flow past a semi-infinite body)
• prob_3_25.m (experiments with run time of bvp4c)
• prob_3_26.m (Fisher's BVP)
• prob_3_27.m (speed improvements due to Matlab vectorization)
• prob_3_28.m (speed improvements due to providing an analytic Jacobian)
• prob_3_29.m (efficient solutions BVPs when varying parameters)
• prob_3_30_pt1.m (solving Ascher's measles ODE's with bvp4c)
• prob_3_30_pt2.m (an example of using continuation to solve BVPs)
Chapter 4 (Delay Differential Equations):

John Weatherwax