Applied numerical methods using MATLAB (2005)

Preface. 1. MATLAB Usage and Computational Errors. 1.1 Basic Operations of MATLAB. 1.1.1 Input/Output of Data from MATLAB Command Window. 1.1.2 Input/Output of Data Through Files. 1.1.3 Input/Output of Data Using Keyboard. 1.1.4 2-D Graphic Input/Output. 1.1.5 3-D Graphic Output. 1.1.6 Mathematical Functions. 1.1.7 Operations on Vectors and Matrices. 1.1.8 Random Number Generators. 1.1.9 Flow Control. 1.2 Computer Errors Versus Human Mistakes. 1.2.1 IEEE 64-bit Floating-Point Number Representation. 1.2.2 Various Kinds of Computing Errors. 1.2.3 Absolute/Relative Computing Errors. 1.2.4 Error Propagation. 1.2.5 Tips for Avoiding Large Errors. 1.3 Toward Good Program. 1.3.1 Nested Computing for Computational Efficiency. 1.3.2 Vector Operation Versus Loop Iteration. 1.3.3 Iterative Routine Versus Nested Routine. 1.3.4 To Avoid Runtime Error. 1.3.5 Parameter Sharing via Global Variables. 1.3.6 Parameter Passing Through Varargin. 1.3.7 Adaptive Input Argument List. Problems. 2. System of Linear Equations. 2.1 Solution for a System of Linear Equations. 2.1.1 The Nonsingular Case (M = N). 2.1.2 The Underdetermined Case (M N): Least-Squares Error Solution. 2.1.4 RLSE (Recursive Least-Squares Estimation). 2.2 Solving a System of Linear Equations. 2.2.1 Gauss Elimination. 2.2.2 Partial Pivoting. 2.2.3 Gauss-Jordan Elimination. 2.3 Inverse Matrix. 2.4 Decomposition (Factorization). 2.4.1 LU Decomposition (Factorization): Triangularization. 2.4.2 Other Decomposition (Factorization): Cholesky, QR, and SVD. 2.5 Iterative Methods to Solve Equations. 2.5.1 Jacobi Iteration. 2.5.2 Gauss-Seidel Iteration. 2.5.3 The Convergence of Jacobi and Gauss-Seidel Iterations. Problems. 3. Interpolation and Curve Fitting. 3.1 Interpolation by Lagrange Polynomial. 3.2 Interpolation by Newton Polynomial. 3.3 Approximation by Chebyshev Polynomial. 3.4 Pade Approximation by Rational Function. 3.5 Interpolation by Cubic Spline. 3.6 Hermite Interpolating Polynomial. 3.7 Two-dimensional Interpolation. 3.8 Curve Fitting. 3.8.1 Straight Line Fit: A Polynomial Function of First Degree. 3.8.2 Polynomial Curve Fit: A Polynomial Function of Higher Degree. 3.8.3 Exponential Curve Fit and Other Functions. 3.9 Fourier Transform. 3.9.1 FFT Versus DFT. 3.9.2 Physical Meaning of DFT. 3.9.3 Interpolation by Using DFS. Problems. 4. Nonlinear Equations. 4.1 Iterative Method Toward Fixed Point. 4.2 Bisection Method. 4.3 False Position or Regula Falsi Method. 4.4 Newton(-Raphson) Method. 4.5 Secant Method. 4.6 Newton Method for a System of Nonlinear Equations. 4.7 Symbolic Solution for Equations. 4.8 A Real-World Problem. Problems. 5. Numerical Differentiation/Integration. 5.1 Difference Approximation for First Derivative. 5.2 Approximation Error of First Derivative. 5.3 Difference Approximation for Second and Higher Derivative. 5.4 Interpolating Polynomial and Numerical Differential. 5.5 Numerical Integration and Quadrature. 5.6 Trapezoidal Method and Simpson Method. 5.7 Recursive Rule and Romberg Integration. 5.8 Adaptive Quadrature. 5.9 Gauss Quadrature. 5.9.1 Gauss-Legendre Integration. 5.9.2 Gauss-Hermite Integration. 5.9.3 Gauss-Laguerre Integration. 5.9.4 Gauss-Chebyshev Integration. 5.10 Double Integral. Problems. 6. Ordinary Differential Equations. 6.1 Euler's Method. 6.2 Heun's Method: Trapezoidal Method. 6.3 Runge-Kutta Method. 6.4 Predictor-Corrector Method. 6.4.1 Adams-Bashforth-Moulton Method. 6.4.2 Hamming Method. 6.4.3 Comparison of Methods. 6.5 Vector Differential Equations. 6.5.1 State Equation. 6.5.2 Discretization of LTI State Equation. 6.5.3 High-Order Differential Equation to State Equation. 6.5.4 Stiff Equation. 6.6 Boundary Value Problem (BVP). 6.6.1 Shooting Method. 6.6.2 Finite Difference Method. Problems. 7. Optimization. 7.1 Unconstrained Optimization [L-2, Chapter 7]. 7.1.1 Golden Search Method. 7.1.2 Quadratic Approximation Method. 7.1.3 Nelder-Mead Method [W-8]. 7.1.4 Steepest Descent Method. 7.1.5 Newton Method. 7.1.6 Conjugate Gradient Method. 7.1.7 Simulated Annealing Method [W-7]. 7.1.8 Genetic Algorithm [W-7]. 7.2 Constrained Optimization [L-2, Chapter 10]. 7.2.1 Lagrange Multiplier Method. 7.2.2 Penalty Function Method. 7.3 MATLAB Built-In Routines for Optimization. 7.3.1 Unconstrained Optimization. 7.3.2 Constrained Optimization. 7.3.3 Linear Programming (LP). Problems. 8. Matrices and Eigenvalues. 8.1 Eigenvalues and Eigenvectors. 8.2 Similarity Transformation and Diagonalization. 8.3 Power Method. 8.3.1 Scaled Power Method. 8.3.2 Inverse Power Method. 8.3.3 Shifted Inverse Power Method. 8.4 Jacobi Method. 8.5 Physical Meaning of Eigenvalues/Eigenvectors. 8.6 Eigenvalue Equations. Problems. 9. Partial Differential Equations. 9.1 Elliptic PDE. 9.2 Parabolic PDE. 9.2.1 The Explicit Forward Euler Method. 9.2.2 The Implicit Backward Euler Method. 9.2.3 The Crank-Nicholson Method. 9.2.4 Two-Dimensional Parabolic PDE. 9.3 Hyperbolic PDE. 9.3.1 The Explicit Central Difference Method. 9.3.2 Two-Dimensional Hyperbolic PDE. 9.4 Finite Element Method (FEM) for solving PDE. 9.5 GUI of MATLAB for Solving PDEs: PDETOOL. 9.5.1 Basic PDEs Solvable by PDETOOL. 9.5.2 The Usage of PDETOOL. 9.5.3 Examples of Using PDETOOL to Solve PDEs. Problems. Appendix A: Mean Value Theorem. Appendix B: Matrix Operations/Properties. Appendix C: Differentiation with Respect to a Vector. Appendix D: Laplace Transform. Appendix E: Fourier Transform. Appendix F: Useful Formulas. Appendix G: Symbolic Computation. Appendix H: Sparse Matrices. Appendix I: MATLAB. References. Subject Index. Index for MATLAB Routines. Index for Tables.