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
CONTENTS
Preface xiii
1 MATLAB Usage and Computational Errors 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 Efficiency / 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
viii CONTENTS
2 System of Linear Equations 71
2.1 Solution for a System of Linear Equations / 72
2.1.1 The Nonsingular Case (M = N) / 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 117
3.1 Interpolation by Lagrange Polynomial / 117
3.2 Interpolation by Newton Polynomial / 119
3.3 Approximation by Chebyshev Polynomial / 124
3.4 Pade Approximation by Rational Function / 129
3.5 Interpolation by Cubic Spline / 133
3.6 Hermite Interpolating Polynomial / 139
3.7 Two-dimensional Interpolation / 141
3.8 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 ix
4 Nonlinear Equations 179
4.1 Iterative Method Toward Fixed Point / 179
4.2 Bisection Method / 183
4.3 False Position or Regula Falsi Method / 185
4.4 Newton(–Raphson) Method / 186
4.5 Secant Method / 189
4.6 Newton Method for a System of Nonlinear Equations / 191
4.7 Symbolic Solution for Equations / 193
4.8 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 263
6.1 Euler’s Method / 263
6.2 Heun’s Method: Trapezoidal Method / 266
6.3 Runge–Kutta Method / 267
6.4 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
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 401
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
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
|