MECH ENG 3F04 - Numerical Methods
Autumn 2017
Syllabus and course web site (Lecture notes and Assignments)

September 19 Lecture notes 3a Non-linear equations - real roots posted
September 13 Assignment 1 posted. Due Mon Sept 25 at 4pm to box in JHE 307
September 13 Lecture notes 2b Linear Algebra - special matrices posted

Instructor: Dr. S.W. Tullis
Office: JHE-304
email stullis at

Office hours: I am available in the class after lectures for questions. If required, additional questions can be answered by arranging (by email) a mutually convenient meeting time.

Tues 9:30-10:20     HH 109
Wed 9:30-10:20     HH 109
Wed 3:30-4:20     HH 109
Fri 9:30-10:20     HH 109

Teaching Assistants  
Final Exam:  

  1. Preliminaries - modelling principles, approximation, and truncation errors
  2. Sets of linear equations - matrix basics, Gauss elimination, special matrices
  3. Roots of single equations - several methods
  4. Sets of nonlinear equations - fixed point iteration, Newton-Raphson
  5. Optimization - uni and multivariate
  6. Curve Fitting - regression, interpolation, splines, Fourier methods
  7. Numerical differentiation and integration - Newton-Cotes, Gauss quadrature
  8. Ordinary Differential equations - single step and multi-step methods
  9. Partial Differential Equations - introduction and applications
LEARNING OUTCOMES: Upon successful completion of the course the student are expected to be able to:
  1. Solve systems of linear equations using direct and iterative methods based on properties of the matrix while understanding the significance of matrix parameters (condition number) on accuracy
  2. Solve nonlinear equations and systems of non-linear equations using a variety of methods, understanding differences in the methods in terms of convergence and speed
  3. Perform one- and multi-dimensional unconstrained optimizations using a variety of methods, understanding differences in the methods in terms of convergence and speed
  4. Perform polynomial and spline Interpolations while understanding the limitations/benefits of the various approaches
  5. Perform regressions on data sets using least squares methods including linearization of non-linear data sets.
  6. Demonstrate and understand how a Fourier analysis is done on a noisy data set, and the limitations of such an analysis in terms of frequency resolution
  7. Calculate numerical derivatives of discrete data and be able to assess their accuracy
  8. Solve ordinary differential equations (sets of first order equations) as initial value problems using Euler's and Runge Kutta methods with an understanding of their solution accuracy
  9. Solve boundary value problems using shooting methods and by applying finite difference methods and solving the resulting linear equation set.
GRADUATE ATTRIBUTES: This course provides the students opportunity to develop the following measures of graduate attributes
Graduate Attributes       Learning Objectives where it is measured
Knowledge base for engineering (Indicator 1,3)            1-10
Use of engineering tools (Indicator 2,3)            1-10

Course Text:
Chandra & Canale, Numerical Methods for Engineers, 7th ed (although 4th and later editions are all essentially the same).

Other References

Note that this is NOT a course in how to use a particular bit of software - it is more fundamental, and deals with the algorithms, errors and other issues of the numerical methods examined.  
That said, Matlab will be used to apply methods learned in class. It is commonly used in industry for solving engineering problems numerically (it is probably the most common software package used for these applications). Matlab is available on the MechEng computers in JHE 219, and a student version is available online. Octave is an opensource program very similar to matlab, and can be used as well.
A short (single page) summary of the important MATLAB commands is available by clicking here. You may wish to keep this summary handy while you are working on your assignments.  
A sample '.m' file (called 'sample.m') that contains most of the Matlab commands that you will need for this course. I suggest that you download the file and print it so that you have it as a reference. It has lots of comments to explain what the various commands do. To get started on Matlab you can type in the commands individually into the command window and then see what happens. Alternatively, you can run the file by typing sample in the command window. You should try running commands both ways. To download the file, click here. You usually won't need the file printout statements as that can easily be done with the graphical interface (GUI).
Many MATLAB tutorials and resources are available on the web. Note that and which contain all you really need for this course.
As with most software, it will take a bit of practise to become familiar with it. I highly recommend that you do not leave it until the day before the first assignment is due. Note that this is not a programming course, so using the simplest and most straight-forward code is best (this is always good, but here it means you can get your matlab results out of matlab, and put them in tables or plot them in other packages, if this is easier for you).  

Skeleton notes are posted here.  
  • Lectures Part 1: Introduction
  • Lectures Part 2a: Linear Algebra
  • Lectures Part 2b: Linear equations - Iteration and TDMA
  • Lectures Part 3a: Real Roots (Single non-linear equations)

    Hand in assignments to the 3f4 box in JHE-307.
  • Assignment 1 due Sept 25

    Policy Reminder:
    The Faculty of Engineering is concerned with ensuring an environment that is free of all discrimination. If there is a problem that cannot be resolved by discussion among the persons concerned, individuals are reminded that they should contact the Department Chair, the Sexual Harassment Officer or the Human Rights Consultant, as the problem occurs.
    McMaster University Statement on Academic Dishonesty
    Academic dishonesty consists of misrepresentation by deception or by other fraudulent means and can result in serious consequences, e.g. the grade of zero on an assignment, loss of credit with a notation on the transcript (notation reads: "Grade of F assigned for academic dishonesty"), and/or suspension or expulsion from the university.
    It is your responsibility to understand what constitutes academic dishonesty. For information on the various kinds of academic dishonesty please refer to the Academic Integrity Policy, specifically Appendix 3, located here.
    The following illustrates only three forms of academic dishonesty:
    1. Plagiarism, e.g. the submission of work that is not one's own or for which other credit has been obtained.
    2. Improper collaboration in group work.
    3. Copying or using unauthorized aids in tests and examinations.

    Acknowledgements: M. Lightstone