ECE3040: Table of Contents
Total Page:16
File Type:pdf, Size:1020Kb
ECE3040: Table of Contents Lecture 1: Introduction and Overview Instructor contact information Navigating the course web page What is meant by numerical methods? Example problems requiring numerical methods What is Matlab and why do we need it? Lecture 2: Matlab Basics I The Matlab environment Basic arithmetic calculations Command Window control & formatting Built-in constants & elementary functions Lecture 3: Matlab Basics II The assignment operator “=” for defining variables Creating and manipulating arrays Element-by-element array operations: The “.” Operator Vector generation with linspace function and “:” (colon) operator Graphing data and functions Lecture 4: Matlab Programming I Matlab scripts (programs) Input-output: The input and disp commands The fprintf command User-defined functions Passing functions to M-files: Anonymous functions Global variables Lecture 5: Matlab Programming II Making decisions: The if-else structure The error, return, and nargin commands Loops: for and while structures Interrupting loops: The continue and break commands Lecture 6: Programming Examples Plotting piecewise functions Computing the factorial of a number Beeping Looping vs vectorization speed: tic and toc commands Passing an “anonymous function” to Matlab function Approximation of definite integrals: Riemann sums Computing cos(푥) from its power series Stopping criteria for iterative numerical methods Computing the square root Evaluating polynomials Errors and Significant Digits Lecture 7: Polynomials Polynomials in engineering Matlab numeric tools for polynomials Matlab symbolic tools for polynomial and other analytic functions Lecture 8: Taylor Series Approximations I The Taylor series: taylor function Taylor series expansion for some basic functions Evidence of digital machine truncation error Elementary function computation using Taylor series Rearrangement of formulas to control the round-off error Significance of the Taylor series expansion point 푎 Lecture 9: Taylor Series Approximation II Taylor series generation of approximate analytic solutions The Gaussian integral and its polynomial approximations Taylor series-based solution of nonlinear equations Padé approximation: Approximation with a rational function Lecture 10: Digital Machine Round-off Errors Total error in a numerical method Round-off error in the evaluation of simple formulas Binary floating-point representation of numbers The source of round-off errors Truncation error vs round-off error in numerical differentiation Lecture 11: Numerical Solution of Nonlinear Equations I Introduction and problem formulation Graphical method for estimating solutions Taylor series-based method: The solve_poly function revisited Fixed-point iteration method: Single equation Fixed-point iteration method: System of equations Solving for complex roots Appendix: Convergence rate of the fixed-point method Lecture 12: Numerical Solution of Nonlinear Equations II Newton’s method Convergence analysis of Newton’s method Secant method Newton’s method for solving a system of equations Bisection method Matlab built-in numerical solver: fzero and fsolve Matlab built-in symbolic solver: solve Comparison of the different root finding methods Appendix: Proof of the quadratic convergence of Newton’s method Lecture 13: Optimization I Introduction and motivation Extreme points: Maxima, minima and inflection Polynomial optimization: The optm_poly function Application of numerical root-finding methods to optimization Golden-section search for maxima/minima Lecture 14: Optimization II Parabolic interpolation Parabolic interpolation-based optimization Matlab’s built-in optimization function: fminbnd Gradient-based optimization method User-defined functions grad_optm1 and grad_optm2 Lecture 15: Systems of Linear Equations I Examples of systems of linear equations: Formulation and solution Graphical representation: Singular and ill-conditioned systems Gauss elimination: Function gauss Pivoting: Function guass_pivot Lecture 16: Systems of Linear Equations II LU factorization and the solution of linear algebraic equations Matlab’s lu function and the left-division operator: \ More on Matlab’s left-division operator Iterative methods: Jacobi and Gauss-Seidel algorithms Lecture 17: Polynomial Interpolation Introduction Interpolation using a single polynomial Newton’s interpolation polynomials Matlab built-in polynomial interpolation: polyfit The curse of high-dimensional polynomials Cubic spline interpolation Matlab built-in cubic spline interpolation: spline Interpolation using rational functions Lecture 18: Curve Fitting by Least-Squares Regression Introduction Linear least-squares regression and the straight line model Linearization of nonlinear models General linear least-squares regression and the polynomial model Polynomial regression with Matlab: polyfit Non-linear least-squares regression Numerical solution of the non-linear LSE optimization problem: Gradient search and Matlab’s fminsearch function Lecture 19: Numerical Integration I Introduction Numerical integration formulas: o Simple integration: Approximation with a constant o Midpoint rule: Another approximation with a constant o Trapezoidal Rule: Approximation with a straight line o Simpson’s 1/3 Rule: Approximation with a parabola o Simpson’s 3/8 Rule: Approximation with a 3rd-order polynomial Matlab built-in numerical integration from data points: trapz Numerical integration applied to generating Chebyshev power series Lecture 20: Numerical Integration II Introduction Richardson extrapolation & Romberg integration Gauss quadrature: Two-point Gauss-Legendre formula Adaptive quadrature Matlab numerical integration functions quad & quadl (or integral) Matlab polynomial and symbolic integration: polyint and int Taylor series-based integration Multiple integrals: dblquad (integral2) and triplequad (integral3) Monte Carlo integration Lecture 21: Numerical Differentiation Introduction Differentiation formulas Richardson extrapolation Matlab numerical differentiation functions: diff Matlab polynomial and symbolic differentiation: polyder and diff Lecture 22: Numerical Solution of Differential Equations Introduction Euler’s method for solving first-order ODEs Euler’s method for higher-order ODEs Error analysis of Euler’s method Improving Euler’s method: Heun’s & Runge-Kutta methods Matlab’s function ode45 Case study: Bungee jumper Appendix: Symbolic solution of ODE’s using Matlab’s dsolve Appendix A: Numerical Solution of Some Interesting Systems of ODEs Hanging Two-Mass, Two-Spring Linear (Ideal) System Tunnel Diode Circuit The (Diffusion-less) Lorenz Dynamical System Euler’s Restricted Three-Body Problem The General (Planar) Three-Body Problem Extremizing Functions: The suspended chain and other problems Appendix B: Summary of User-Defined and Built-in Matlab Functions Appendix C: The 10 Most Important Matlab Functions for Numerical Methods Appendix D: Numerical Methods and Vintage Programmable Calculators .