MATH/COSC 3416 Course Outline
Numerical Methods I
January 2011

Course Description

This is an introductory course in numerical methods and analysis. The prerequisites are a full year of calculus (MATH 1036/1037), an introductory linear algebra course (MATH 1057) and an introductory differential equations course (MATH 2066). An introduction to programming is also assumed.

The course has a programming component using MATLAB. Maple may also be used in a few places.

Course Organization

Textbook: Numerical Mathematics and Computing, 6th Edition
Authors: Ward Cheney and David Kincaid
Publisher: Thomson (Brooks/Cole)

Prerequisite: MATH 1037, MATH 1057, MATH 2066, COSC 1046 or ENGR 1077

Instructor: Dr. B.G. Adams
Office: FA-378
Phone: 675-1151 x 2323
Email: badams 'at' cs.laurentian.ca
Note: Only send messages using your university email address

Lecture Times: Tue, Thur: 8:30 am - 9:45 am
Room: C-112

Grading scheme

The final grade will be determined on the basis of
Best 4 of 5 assignments 20% Jan 21, Feb 4, Mar 4, Mar 18, Apr 1
2 Term tests (15% each) 30% Feb 15, Mar 24
Final exam (3 hours) 50% Scheduled by registrar
NOTE: Assignments are due in the course lockerette at 11:30 am
NOTE: Term test times are 8:30 am - 9:45 am

Course Outline

Introduction (2 weeks)

Root Finding Methods (2 weeks)

Interpolation and Extrapolation (2 weeks)

Numerical Integration (2 weeks)

Numerical Solution of Linear Systems (2 weeks)

Numerical Solution of ODE's (2 weeks)

Assignments and Tests

Rules for Submitting Assignments (txt file)
Sample Title Page (doc file)

assign1.pdf  (solutions1.html)
assign2.pdf  (solutions2.html)
assign3.pdf  (solutions3.html)
assign4.pdf  (solutions4.html)
assign5.pdf  (solutions5.html)

Test 1 study guide
Term test 1 solutions 

Test 2 study guide
Term test 2 solutions 

Final exam study guide
Practice Exam

Matlab tutorial, m files, and Other Resources

Matlab Tutorial

You should try the following Matlab tutorial: tutorial.pdf

Scripts from tutorial: fact.m      falling_object.m      quad_script.m      sq_root1.m      sq_root2.m      sq_root3.m

Introductory Notes

intro.pdf

Scripts from Introductory Notes

err.m     Relative and absolute errors
roundoff1.m     Roundoff error accumulation
machine_eps.m     Calculating the machine epsilon
roundoff2.m     Loss of significance in subraction
roundoff3.m     Elimination of loss of significance
sin1.m   sin2.m   sinf.m     x - sin x
logsum1.m     Slow series for log(2)
logsum2.m     Fast series for log(2)
deriv.m     Approximating the derivative of a function using the limit definition from calculus.
recurrence1.m     stable recurrence relation
recurrence2.m     unstable recurrence relation
recurrence3.m     backward recurrence relation
slowroot.m     slow recurrence relation
fastroot.m     fast recurrence relation

Scripts for root finding

bisect.m     Bisection method
newton.m     Newtons method
secant.m     Secant method
fpoint0.m,   fpoint.m     Fixed point iteration method
annuity.m     Annuity example
fzero_test.m     Using the Matlab fzero function
cable.m     Suspended cable example
beam_example.m     Beam example
floating_sphere.m     Finding the depth of a floating sphere

Scripts for interpolation and extrapolation

eval_poly.m     Evalaute a polynomial using nested form
interp_poly.m     Using the Matlab polyfit and polyval functions
lip.m     Evalaute lagrange interpolating polynomial
newton_table.m     Newton divided difference table
newton_table_test.m     Example of Newton divided difference table
newton_poly.m     Coefficients of the newton polynomial
newton_eval.m     Evaluating Newton polynomial at a point
linear_table.m     linear interpolating table for exp(x)
quad_table.m     quadratic interpolating table for exp(x)
runge.m     Runge phnomenon
richardson.m     Richardson extrapolation table for derivative
richtest.m     Richardson extrapolation example

Numerical Integration

riemann.m     Reimann sum example
trap.m     Trapezoidal rule
traptest.m     Trapezoidal rule example
simp.m     Simpson's rule
simptest.m     Simpson's rule example
romberg.m     Romberg table
rombergtest.m     Romberg examplee
gauss2.m     2nd degree gaussian integration
gauss3.m     3rd degree gaussian integration
gauss_test.m     gaussian example
quad_test.m     Test of Matlabs' quaud function

Linear Systems

ngauss.m     Naive gaussian elimination
ngausstest.m     Example of Naive gaussian elimination
zgauss.m     Eliminating zero pivots
zgausstest.m     Example of zgauss
mgauss.m     Maximal column pivoting
mgausstest.m     Example of mgauss
sgauss.m     Scaled partial pivoting
sgausstest.m     Example of sgauss
gauss.m     Gaussian elimination only
gaussSolve.m     Solving systems using gauss
gausstest.m     Example of gauss and gaussSolve
truss.m     Example of gauss and gaussSolve for a truss
nluFactor.m     Naive lu factorization
nluSolve.m     Solving system using nluFactor
nlutest.m     Example of nluFactor and nluSolve
luFactor.m     lu factorization using scaled partial pivoting
luSolve.m     Solving system using luFactor
lutest.m     Example of luFactor and luSolve
inverse.m     Computing inverse using gauss and gaussSolve

Differential equations

euler.m     Euler's method for first order DE
euler_test1.m     Example of Euler's method
taylor4.m     4th order taylor method
taylor4_test1.m     Example of 4th order Taylor method
rk2.m     2nd order Runge-Kutta method
rk2_test1.m     Example of 2nd order Runge-Kutta method
rk4.m     4th order Runge-Kutta method
rk4_test1.m     Example of 4th order Runge-Kutta method
vibration.m     ode45 function for mx'' + cx' + kx = F(t)
vibration_test.m     Example of vibrations using ode45
pendulum.m     Non-linear pendulum system
pendulum_test.m     Example of pendulums using ode45
rabfox.m     Predator-prey function
rabfox_test.m     Example of predator-prey using ode45