APPLIED NUMERICAL METHODS USING MATLAB

APPLIED NUMERICAL METHODS USING MATLAB® Won Young Yang Chung-Ang University, Korea Wenwu Cao Pennsylvania State University Tae-Sang Chung Chung-Ang ...
Author: Chrystal Daniel
2 downloads 2 Views 2MB Size
APPLIED NUMERICAL METHODS USING MATLAB® Won Young Yang Chung-Ang University, Korea

Wenwu Cao Pennsylvania State University

Tae-Sang Chung Chung-Ang University, Korea

John Morris The University of Auckland, New Zealand

WILEYINTERSCIENCE A JOHN WILEY & SONS, INC., PUBLICATION

CONTENTS

Preface 1 MATLAB Usage and Computational Errors

xiii 1

1.1 Basic Operations of MATLAB / 1 1.1.1 Input/Output of Data from MATLAB Command Window / 2 1.1.2 Input/Output of Data Through Files / 2 1.1.3 Input/Output of Data Using Keyboard / 4 1.1.4 2-D Graphic Input/Output / 5 1.1.5 3-D Graphic Output / 10 1.1.6 Mathematical Functions / 10 1.1.7 Operations on Vectors and Matrices / 15 1.1.8 Random Number Generators / 22 1.1.9 Flow Control / 24 1.2 Computer Errors Versus Human Mistakes / 27 1.2.1 IEEE 64-bit Floating-Point Number Representation / 28 1.2.2 Various Kinds of Computing Errors / 31 1.2.3 Absolute/Relative Computing Errors / 33 1.2.4 Error Propagation / 33 1.2.5 Tips for Avoiding Large Errors / 34 1.3 Toward Good Program / 37 1.3.1 Nested Computing for Computational Efnciency / 37 1.3.2 Vector Operation Versus Loop Iteration / 39 1.3.3 Iterative Routine Versus Nested Routine / 40 1.3.4 To Avoid Runtime Error / 40 1.3.5 Parameter Sharing via Global Variables / 44 1.3.6 Parameter Passing Through Varargin / 45 1.3.7 Adaptive Input Argument List / 46 Problems / 46

vii

VÜi

CONTENTS

2 System of Linear Equations 2.1 Solution for a System of Linear Equations / 72 2.1.1 The Nonsingular Case (M = N) I 72 2.1.2 The Underdetermined Case (M < N): Minimum-Norm Solution / 72 2.1.3 The Overdetermined Case (M > N): Least-Squares Error Solution / 75 2.1.4 RLSE (Recursive Least-Squares Estimation) / 76 2.2 Solving a System of Linear Equations / 79 2.2.1 Gauss Elimination / 79 2.2.2 Partial Pivoting / 81 2.2.3 Gauss-Jordan Elimination / 89 2.3 Inverse Matrix / 92 2.4 Decomposition (Factorization) / 92 2.4.1 LU Decomposition (Factorization): Triangularization / 92 2.4.2 Other Decomposition (Factorization): Cholesky, QR, and SVD / 97 2.5 Iterative Methods to Solve Equations / 98 2.5.1 Jacobi Iteration / 98 2.5.2 Gauss-Seidel Iteration / 100 2.5.3 The Convergence of Jacobi and Gauss-Seidel Iterations / 103 Problems / 104 3 Interpolation and Curve Fitting 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8

Interpolation by Lagrange Polynomial / 117 Interpolation by Newton Polynomial / 119 Approximation by Chebyshev Polynomial / 124 Pade Approximation by Rational Function / 129 Interpolation by Cubic Spline / 133 Hermite Interpolating Polynomial / 139 Two-dimensional Interpolation / 141 Curve Fitting / 143 3.8.1 Straight Line Fit: A Polynomial Function of First Degree / 144 3.8.2 Polynomial Curve Fit: A Polynomial Function of Higher Degree / 145 3.8.3 Exponential Curve Fit and Other Functions / 149 3.9 Fourier Transform / 150 3.9.1 FFT Versus DFT / 151 3.9.2 Physical Meaning of DFT / 152 3.9.3 Interpolation by Using DFS / 155 Problems / 157

CONTENTS

4 Nonlinear Equations 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8

iX

179

Iterative Method Toward Fixed Point / 179 Bisection Method / 183 False Position or Regula Falsi Method / 185 Newton(-Raphson) Method / 186 Secant Method / 189 Newton Method for a System of Nonlinear Equations / 191 Symbolic Solution for Equations / 193 A Real-World Problem / 194 Problems / 197

5 Numerical Differentiation/Integration

209

5.1 Difference Approximation for First Derivative / 209 5.2 Approximation Error of First Derivative / 211 5.3 Difference Approximation for Second and Higher Derivative / 216 5.4 Interpolating Polynomial and Numerical Differential / 220 5.5 Numerical Integration and Quadrature / 222 5.6 Trapezoidal Method and Simpson Method / 226 5.7 Recursive Rule and Romberg Integration / 228 5.8 Adaptive Quadrature / 231 5.9 Gauss Quadrature / 234 5.9.1 Gauss-Legendre Integration / 235 5.9.2 Gauss-Hermite Integration / 238 5.9.3 Gauss-Laguerre Integration / 239 5.9.4 Gauss-Chebyshev Integration / 240 5.10 Double Integral / 241 Problems / 244 6 Ordinary Differential Equations 6.1 6.2 6.3 6.4

Euler's Method / 263 Heun's Method: Trapezoidal Method / 266 Runge-Kutta Method / 267 Predictor-Corrector Method / 269 6.4.1 Adams-Bashforth-Moulton Method / 269 6.4.2 Hamming Method / 273 6.4.3 Comparison of Methods / 274 6.5 Vector Differential Equations / 277 6.5.1 State Equation / 277 6.5.2 Discretization of LTI State Equation / 281 6.5.3 High-Order Differential Equation to State Equation / 283 6.5.4 Stiff Equation / 284

263

X

CONTENTS

6.6 Boundary Value Problem (BVP) / 287 6.6.1 Shooting Method / 287 6.6.2 Finite Difference Method / 290 Problems / 293 7 Optimization

321

7.1 Unconstrained Optimization [L-2, Chapter 7] / 321 7.1.1 Golden Search Method / 321 7.1.2 Quadratic Approximation Method / 323 7.1.3 Nelder-Mead Method [W-8] / 325 7.1.4 Steepest Descent Method / 328 7.1.5 Newton Method / 330 7.1.6 Conjugate Gradient Method / 332 7.1.7 Simulated Annealing Method [W-7] / 334 7.1.8 Genetic Algorithm [W-7] / 338 7.2 Constrained Optimization [L-2, Chapter 10] / 343 7.2.1 Lagrange Multiplier Method / 343 7.2.2 Penalty Function Method / 346 7.3 MATLAB Built-In Routines for Optimization / 350 7.3.1 Unconstrained Optimization / 350 7.3.2 Constrained Optimization / 352 7.3.3 Linear Programming (LP) / 355 Problems / 357 8 Matrices and Eigenvalues

371

8.1 Eigenvalues and Eigenvectors / 371 8.2 Similarity Transformation and Diagonalization / 373 8.3 Power Method / 378 8.3.1 Scaled Power Method / 378 8.3.2 Inverse Power Method / 380 8.3.3 Shifted Inverse Power Method / 380 8.4 Jacobi Method / 381 8.5 Physical Meaning of Eigenvalues/Eigenvectors / 385 8.6 Eigenvalue Equations / 389 Problems / 390 9 Partial Differential Equations 9.1 Elliptic PDE / 402 9.2 Parabolic PDE / 406 9.2.1 The Explicit Forward Euler Method / 406 9.2.2 The Implicit Backward Euler Method / 407

401

CONTENTS

Xi

9.2.3 The Crank-Nicholson Method / 409 9.2.4 Two-Dimensional Parabolic PDE / 412 9.3 Hyperbolic PDE / 414 9.3.1 The Explicit Central Difference Method / 415 9.3.2 Two-Dimensional Hyperbolic PDE / 417 9.4 Finite Element Method (FEM) for solving PDE / 420 9.5 GUI of MATLAB for Solving PDEs: PDETOOL / 429 9.5.1 Basic PDEs Solvable by PDETOOL / 430 9.5.2 The Usage of PDETOOL / 431 9.5.3 Examples of Using PDETOOL to Solve PDEs / 435 Problems / 444 Appendix A.

Mean Value Theorem

461

Appendix B.

Matrix Operations/Properties

463

Appendix C.

Differentiation with Respect to a Vector

471

Appendix D.

Laplace Transform

473

Appendix E.

Fourier Transform

475

Appendix F.

Useful Formulas

477

Appendix G.

Symbolic Computation

481

Appendix H.

Sparse Matrices

489

Appendix I.

MATLAB

491

References

497

Subject Index

499

Index for MATLAB Routines

503

Index for Tables

509