ECE 3340 - Numerical Methods

Course Description

This course is an introduction to numerical analysis with an emphasis on practical applications, implementation, and algorithm design. The primary objective of this course is to gain an understanding of the algorithms and pitfalls encountered when performing numerical operations on computational systems. The secondary objective is to gain practical programming experience with C/C++ and Matlab, including algorithm design and the proper understanding and use of available numerical algorithms.

Syllabus [ PDF ]

Course Forum: Piazza (requires login)

 

Lectures


[ PPTX ] [ PDF ] Lecture 00 - Introduction to numerical methods, quantization errors, aliasing

[ PPTX ] [ PDF ] Lecture 01 - Representing numbers in digital systems, integers, floating point, arithmetic

[ PPTX ] [ PDF ] Lecture 02 - Loss of precision, reformulation, Taylor series, mean value theorem, quadratic equation

[ PPTX ] [ PDF ] Lecture 03 - Evaluating polynomials, Horner's algorithm, polynomial derivatives

[ PPTX ] [ PDF ] Lecture 04 - Finding roots of equations, programming assignment 1

[ PPTX ] [ PDF ] Lecture 05 - Big-O notation, error, algorithmic complexity

[ PPTX ] [ PDF ] Section 1 Review

[ PPTX ] [ PDF ] Lecture 06 - Solving linear systems

[ PPTX ] [ PDF ] Lecture 07 - Gaussian elimination stability

[ PPTX ] [ PDF ] Lecture 08 - Properties of linear systems, LU decomposition, matrix inversion

[ PPTX ] [ PDF ] Lecture 09 - Random numbers and Monte-Carlo methods

[ PPTX ] [ PDF ] Section 2 Review

[ PPTX ] [ PDF ] Lecture 10 - Finite differences, difference calculus

[ PPTX ] [ PDF ] Lecture 11 - Differential equations, Euler's method

  • [ source ] Matlab code for a particle in an electric field
  • [ source ] Matlab code for solving \frac{dy}{dx}=\sin{(y+x^2)} and \frac{dy}{dx}=y^2-x
  • [ source ] Matlab code for simulating a satellite and gravity well

[ PPTX ] [ PDF ] Lecture 12 - Integration, trapezoid rule, Simpson's rule

[ PPTX ] [ PDF ] Lecture 13 - Least squares fitting, linear least squares

[ PPTX ] [ PDF ] Section 3 Review

Homework


[ PDF ] Homework 1 - Representing numbers in digital systems

[ PDF ] Homework 2 - Numerical precision

[ PDF ] Homework 3 - Evaluating functions and optimization

[ PDF ] Homework 4 - Partial pivoting and matrix conditioning

 

Programming


Programming Reviews/Tutorials

[ PPTX ] Visual Studio (C/C++) coding and compiling tutorial

[ PDF ] Matlab Review

Programming Assignments

PDF ] Programming Assignment 1 - Finding roots of equations (C/C++)

  • polynomials.txt - randomized inputs and corresponding roots that can be used to test your code

[ PDF ] Programming Assignment 2 - Scaled Partial Pivoting (C/C++)


[ PDF ] Programming Assignment 3 - The Kessel Run (Matlab)

  • [ cluster1.mat ] file containing the gravity wells for the assignment