Learning Outcomes:
On successful completion of this module the student will be able to:
1. Approximately numerically solve a given algebraic or transcendental equation or system of such equations, appreciate the level of approximation involved and understand some of the more common problems which can occur and how to remedy them. Leverage this ability to approximately numerically identify the local maxima and minima of functions, both subject to constraints and otherwise.
2. Efficiently numerically solve a system of linear equations and/or invert a matrix, even when the number of variables becomes relatively large. Have an appreciation of ill-conditioning and of sparsity.
3. Efficiently numerically solve a system of first order differential equations subject to given initial conditions. Be able to use this ability to determine the actual performance of a significant class of engineering systems. Again appreciate the approximation involved, the problems which can occur, how to identify them and what to do if they arise. Present results in a manner more engaging than a simple table or graph.
4. Approximately numerically solve boundary value problems. The algorithm presented is widely recognised as being the simplest, but not the best.
5. Produce a 3D graphical representation of an object and animate in MATLAB or Python. Recognise the importance of quality of presentation of data/reports and improve personal effectiveness in this regard.
6. Break down an engineering problem into solvable sub-problems both as an individual and as part of a team. Make an engaging multi-media presentation of results.
7. Develop a MATLAB function m-file or Python file to a professional standard.
Indicative Module Content:
Module Plan:
Section 1: Nonlinear equations
Week 1:
Lectures: 2 lectures on solving single and systems of nonlinear equations, covering bisection, Regula Falsi and Newton-Raphson algorithms.
Laboratories: offerings 1, 2 of Introduction to MATLAB, loops, function m-files, 3D graphics. 2 contemporaneous offerings of courtesy Introduction to MATLAB, general commands for MATLAB novices.
Week 2a:
Lectures: 1 lecture on solving single and systems of nonlinear equations, covering bisection, Regula Falsi and Newton-Raphson algorithms.
Laboratories: offering 3 of Introduction to MATLAB, loops, function m-files, 3D graphics. 1 contemporaneous offering of courtesy Introduction to MATLAB, general commands for MATLAB novices.
Week 2b:
Lectures: 1 lecture on examples of solving nonlinear equations and sample reporting for module assignments.
Laboratories: offering 4 of Introduction to MATLAB, loops, function m-files, 3D graphics. 1 contemporaneous offering of courtesy Introduction to MATLAB, general commands for MATLAB novices.
Section 2: Optimisation
Week 3:
Lectures: 2 lectures on optimisation with or without constraints, covering Fermat’s necessary condition, Newton’s method, Lagrange multipliers and KKT multipliers, curve fitting.
Laboratories: offerings 1, 2 of MS1: solving nonlinear equations.
Week 4a:
Lectures: 1 lecture on optimisation with or without constraints, covering Fermat’s necessary condition, Newton’s method, Lagrange multipliers and KKT multipliers, curve fitting.
Laboratories: offering 3 of MS1: solving nonlinear equations.
Section 3: Systems of linear equations
Week 4b:
Lectures: 1 lecture on Gaussian elimination with pivoting.
Laboratories: offering 4 of MS1: solving nonlinear equations.
Week 5:
Lectures: 2 lectures on Gaussian elimination with pivoting.
Minor Project (first session): offerings 1, 2 of MP1: static equations.
Week 6a:
Lectures: 1 lecture on Gaussian elimination with pivoting.
Minor Project (first session): offering 3 of MP1: static equations.
Week 6b:
Lectures: 1 lecture on iterative methods, Gauss-Seidel.
Minor Project (first session): offering 4 of MP1: static equations.
Section 4: Solving ordinary differential equations, initial value problems
Week 7:
Lectures: 2 lectures on solving ODEs, initial value problems, Euler, Runge-Kutta algorithms.
Minor Project (second session): offerings 1, 2 of MP1: static equations.
Week 8:
Lectures: 2 lectures on solving ODEs, initial value problems, multi-step, Adams-Bashforth-Moulton algorithms.
Minor Project (second session): offerings 3, 4 of MP1: static equations.
Week 9a:
Lectures: 1 lecture on solving ODEs, initial value problems, multi-step, Adams-Bashforth-Moulton algorithms.
Team Minor Project (first session): offering 1 of MP1: dynamic equations.
Section 5: Numerical quadrature
Week 9b:
Lectures: 1 lecture on numerical quadrature, Newton-Cotes, Gauss quadrature.
Team Minor Project (first session): offering 2 of MP1: dynamic equations.
Section 6: Boundary Value Problems
Week 10a:
Lectures: 1 lecture on solving ordinary differential equations, boundary value problems, finite differences.
Team Minor Project (first session): offering 3 of MP2: dynamic equations.
Week 10b:
Lectures: 1 lecture wrap up and additional commentary upon reporting errors.
Team Minor Project (first session): offerings 4 of MP2: dynamic equations.
Week 11:
Team Minor Project (second session): offerings 1, 2 of MP2: dynamic equations.
Week 12:
Team Minor Project (second session): offerings 3, 4 of MP2: dynamic equations.