# 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)

### 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 [ Python ] [ MATLAB ] 12 [ PPTX ] Numerical integration, Monte-Carlo methods 13 [ PPTX ] Kessel Run Programming Assignment MATLAB Euler example 14 [ 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 Euler example Implement the Kessel Run Cluster files: cluster1.mat Practice Exam #2 Practice Exam #3 Answers