ECE 3340 - Numerical Methods for Electrical Engineers

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 ]

Textbooks


[ PDF ] Numerical Methods in Practice - (in progress)

Course Information


01 [ PPTX ] Introduction to numerical methods, quantization errors, and programming tools
Homework 1 Review Chapters 1 and 2 (math and C/C++ review)
Get an account on Tuxedo (Engineering Computer Lab)
Submit: a program that echos user input.
input:
(assuming your executable is the default "a.out")

./a.out repeat this text

output:

echo: "repeat this text"
2.1 [ YouTube ] [ PDF ]
2.2 [ YouTube ] [ PDF ]
Computational complexity, Horner's algorithm, polynomial derivatives
Homework 2 Read Chapter 3
Submit: P3.1, P3.2
3.1 [ YouTube ] [ PDF ]
3.2 [ YouTube ] [ PDF ]
3.3 [ YouTube ] [ PDF ]
Numerical representation, error, loss of precision
HexEdit website: hexed.it
4.1 [ YouTube ] [ PDF ]
4.2 [ YouTube ] [ PDF ]
Methods for mitigating precision loss, re-arranging terms, Maclaurin series
Homework 3 Read Chapters 5 and 6
5.1 #6, 5.2 #2, 5.3 through 5.10, 6.4, 6.12, 6.16
5 [ YouTube ] [ PDF ] Roots of Equations and Optimization
Programming 1 Python Benchmark: roots_benchmark.py

Usage:
python roots_benchmark.py ./executable

Review 1 [ PDF ] Practice Exam #1
Answers
6.1 [ YouTube ] [ PDF ]
6.2 [ YouTube ] [ PDF ]
6.3 [ YouTube ] [ PDF ]
Linear Systems, Gaussian elimination, and instabilities
7 [ YouTube ] [ PDF ] Probability, random number generators
Homework 4 8.1, 9.1A, 9.7, 10.1, 10.2
Programming 2 Python Benchmark: lup_benchmark.py

Usage:
python lup_benchmark.py ./executable

8 [ YouTube ] [ PDF ] Finite difference calculus
9 [ YouTube ] [ PDF ] Numerically solving partial differential equations
[ Python ] [ MATLAB ]
Review 2 [ PDF ] Practice Exam #2
Answers
10 [ YouTube ] [ PDF ] Numerical integration, Monte-Carlo methods
11 [ YouTube ] [ PDF ] Least squares fitting
12 [ YouTube ] [ PDF ] Interpolation
13 [ YouTube ] [ PDF ] Kessel Run Programming Assignment
MATLAB Euler example
Review 3 [ PDF ] Practice Exam #3
Practice Exam #3 Answers