Matlab files
Here you can find some m-files that are not posted in 'Lectures' part, as well as the existing m-files with commentaries. To see the commentary, type
>> help filename
in Matlab command window. (here 'filename' should be replaced by actual name, for instance, midp).
Disclaimer: These files are provided "as is", without warranties of any kind.
Here is a user-defined function, which can be modified and used as an input to the numerical integration or differentiation subroutines below: myfunc.m
Finite difference formulas for numerical differentiation:
- Two-point forward difference formula for first derivative: d1fd2p.m
- Three-point centered-difference formula for first derivative: d1cd3p.m
- Three-point centered-difference formula for second derivative: d2cd3p.m
- Two-point forward difference formula for first derivative, varying h: d1fd2p_varh
- Three-point centered-difference formula for first derivative, varying h: d1cd3p_varh.m
- Three-point centered-difference formula for second derivative, varying h: d2cd3p_varh.m
Composite Newton-Cotes rules for numerical integration:
More advanced algorithms for numerical integration:
Some fixed-stepsize Runge-Kutta type solvers for initial value problems:
- Euler's method for scalar equations: euler1.m
- Heun's method for scalar equations: heun1.m
- The midpoint method for scalar equations: midpoint1.m
- (General) Euler's method: euler.m
- (General) Heun's method: heun.m
- The (general) midpoint method: midpoint.m
- Runge-Kutta method of order 4: rk4.m
One step at a time:
Some examples of modeling and simulation by IVPs:
- Pendulum (the bug is fixed by Matt Comber): pend.m
- Two-body problem (modification of the program for one-body problem): orbit2.m
Variable step-size (aka adaptive) methods:
- Runge-Kutta-Fehlberg order 4/order 5 embedded pair: rkf45.m
Implicit methods:
- Backward Euler with Newton's method as a solver (fixed step-size): beuler.m
Equation solvers:
- A simple implementation of Newton's method: newton.m
- A simple implementation of the secant method: secant.m
Multistep methods:
- Adams-Bashforth 4-step method: ab4.m
- Adams-Bashforth / Adams-Moulton predictor-corrector pair of order 4: abm4.m
Shooting methods for 2nd order (Dirichlet) boundary value problems:
- Linear shooting method (with fixed stepsize IVP solvers): linshoot.m
- Shooting method using bisection (with fixed stepsize IVP solvers): bisectshoot.m
- Shooting method using bisection (with Runge-Kutta-Fehlberg 4/5 variable stepsize solver): rkf45bisectshoot.m
Finite difference methods for 2nd order (Dirichlet) boundary value problems:
- For linear problems: linfd.m
- For nonlinear problems (using a fixed point iteration): fpifd.m
- For nonlinear problems (using Newton's iteration): newtfd.m