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 ]

Course Forum: Piazza (requires login)

Textbooks


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

Lectures


01 [ PPTX ] Introduction to numerical methods, quantization errors, and programming tools
02 [ PPTX ]
2.1 [ YouTube ]
2.2 [ YouTube ]
Computational complexity, Horner's algorithm, polynomial derivatives
03 [ PPTX ]
3.1 [ YouTube ]
3.2 [ YouTube ]
Numerical representation, error, loss of precision
HexEdit website: hexed.it
04 [ PPTX ] Methods for mitigating precision loss, re-arranging terms, Maclaurin series
05 [ PPTX ] Roots of Equations and Optimization
06 [ PPTX ] Linear Systems, Gaussian elimination, and instabilities
07 [ PPTX ] Stable methods for solving linear systems
Review 1 [ PPTX ]
08 [ PPTX ] Properties of linear systems, conditioning, stability
09 [ PPTX ] Probability, random number generators
Review 2 [ PPTX ]
10 [ PPTX ] Finite difference calculus
11 [ PPTX ] Numerically solving partial differential equations
12 [ PPTX ] Numerical integration, Monte-Carlo methods
13 [ PPTX ] Least squares fitting
Review 3 [ PPTX ]

Homework and Programming Assignments


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"
Homework 2 Read Chapter 3
Submit: P3.1, P3.2
Programming 1A Chapter 3, Programming Assignment
Horner's Method (no submission yet)
Homework 3 Read Chapters 5 and 6
5.1 #6, 5.2 #2, 5.3 through 5.10, 6.4, 6.12, 6.16
Programming 1 Chapter 7 Programming Assignment
Implement the Newton Horner Method
Practice Exam #1 Practice Exam #1 Answers
Homework 4 8.1, 9.1A, 9.7, 10.1, 10.2
Programming 2 Implement partial pivoting
Example input matrices:
geometric8.txt
geometric9.txt
rand_perm.txt
Practice Exam #2 Practice Exam #2 Answers
Programming 3:
instructions
slides
Implement the Kessel Run
Cluster files:
cluster1.mat
Practice Exam #2 Practice Exam #3 Answers