Available:*
Library | Item Barcode | Call Number | Material Type | Item Category 1 | Status |
---|---|---|---|---|---|
Searching... | 33000000009030 | TA335 E84 2013 | Open Access Book | Book | Searching... |
Searching... | 30000010344114 | TA335 E84 2013 | Open Access Book | Book | Searching... |
On Order
Summary
Summary
Designed to benefit scientific and engineering applications, Numerical Methods for Engineers and Scientists Using MATLAB®focuses on the fundamentals of numerical methods while making use of MATLAB software. The book introduces MATLAB early on and incorporates it throughout the chapters to perform symbolic, graphical, and numerical tasks. The text covers a variety of methods from curve fitting to solving ordinary and partial differential equations.
Provides fully worked-out examples showing all details Confirms results through the execution of the user-defined function or the script file Executes built-in functions for re-confirmation, when available Generates plots regularly to shed light on the soundness and significance of the numerical resultsCreated to be user-friendly and easily understandable, Numerical Methods for Engineers and Scientists Using MATLAB®provides background material and a broad introduction to the essentials of MATLAB, specifically its use with numerical methods. Building on this foundation, it introduces techniques for solving equations and focuses on curve fitting and interpolation techniques. It addresses numerical differentiation and integration methods, presents numerical methods for solving initial-value and boundary-value problems, and discusses the matrix eigenvalue problem, which entails numerical methods to approximate a few or all eigenvalues of a matrix. The book then deals with the numerical solution of partial differential equations, specifically those that frequently arise in engineering and science.
The book presents a user-defined function or a MATLAB script file for each method, followed by at least one fully worked-out example. When available, MATLAB built-in functions are executed for confirmation of the results. A large set of exercises of varying levels of difficulty appears at the end of each chapter. The concise approach with strong, up-to-date MATLAB integration provided by this book affords readers a thorough knowledge of the fundamentals of numerical methods utilized in various disciplines.
Author Notes
Dr.Ramin S. Esfandiariis a professor of mechanical and aerospace engineering at California State University, Long Beach. He received his BS in mechanical engineering, as well as his MA and PhD in applied mathematics from the University of California, Santa Barbara. He has authored several books and refereed research papers in high-quality engineering and scientific journals, including Modeling and Analysis of Dynamic Systems (CRC Press, 2010) with Dr. Bei Lu. Dr. Esfandiari has received several teaching and research awards, including two Meritorious Performance and Professional Promise Awards, the TRW Excellence in Teaching and Scholarship Award, and the Distinguished Faculty Teaching Award.
Table of Contents
Preface | p. xvii |
Acknowledgments | p. xxi |
Author | p. xxiii |
1 Background and Introduction | p. 1 |
1.1 Background | p. 1 |
1.1.1 Differential Equations | p. 1 |
1.1.1.1 Linear First-Order ODEs | p. 2 |
1.1.1.2 Second-Order ODEs with Constant Coefficients | p. 2 |
1.1.2 Matrix Analysis | p. 5 |
1.1.2.1 Matrix Operations | p. 5 |
1.1.2.2 Special Matrices | p. 6 |
1.1.2.3 Determinant of a Matrix | p. 6 |
1.1.2.4 Inverse of a Matrix | p. 9 |
1.1.3 Matrix Eigenvalue Problem | p. 10 |
1.1.3.1 Solving the Eigenvalue Problem | p. 11 |
1.1.3.2 Similarity Transformation | p. 12 |
1.2 Introduction to Numerical Methods | p. 13 |
1.2.1 Errors and Approximations | p. 13 |
1.2.1.1 Computational Errors | p. 13 |
1.2.1.2 Binary and Hexadecimal Numbers | p. 14 |
1.2.1.3 Floating Point and Rounding Errors | p. 15 |
1.2.1.4 Absolute and Relative Errors | p. 17 |
1.2.2 Iterative Methods | p. 21 |
1.2.2.1 A Fundamental Iterative Method | p. 23 |
1.2.2.2 Rate of Convergence of an Iterative Method | p. 24 |
Problem Set | p. 25 |
2 Introduction to MATLAB® | p. 31 |
2.1 MATLAB® Built-in Functions | p. 31 |
2.1.1 Rounding Commands | p. 32 |
2.1.2 Relational Operators | p. 32 |
2.1.3 Format Options | p. 32 |
2.2 Vectors and Matrices | p. 33 |
2.2.1 Linspace | p. 34 |
2.2.2 Matrices | p. 35 |
2.2.3 Determinant, Transpose, and Inverse | p. 37 |
2.2.4 Slash Operators | p. 37 |
2.2.5 Element-by-Element Operations | p. 38 |
2.3 User-Defined Functions and Script Files | p. 39 |
2.3.1 Setting Default Values for Input Variables | p. 40 |
2.3.2 Creating Script Files | p. 41 |
2.3.3 Anonymous Functions | p. 42 |
2.3.4 Inline | p. 43 |
2.4 Program Flow Control | p. 43 |
2.4.1 for Loop | p. 44 |
2.4.2 if Command | p. 44 |
2.4.3 while Loop | p. 45 |
2.5 Displaying Formatted Data | p. 46 |
2.6 Symbolic Toolbox | p. 47 |
2.6.1 Differentiation | p. 48 |
2.6.2 Integration | p. 49 |
2.6.3 Differential Equations | p. 49 |
2.7 Plotting | p. 50 |
2.7.1 Subplot | p. 50 |
2.7.2 Plotting Analytical Expressions | p. 51 |
2.7.3 Multiple Plots | p. 52 |
Problem Set | p. 52 |
3 Solution of Equations of a Single Variable | p. 55 |
3.1 Numerical Solution of Equations | p. 56 |
3.2 Bisection Method | p. 56 |
3.2.1 MATLAB® Built-in Function fzero | p. 62 |
3.3 Regula Falsi Method (Method of False Position) | p. 62 |
3.3.1 Modified Regula Falsi Method | p. 65 |
3.4 Fixed-Point Method | p. 66 |
3.4.1 Selection of a Suitable Iteration Function | p. 67 |
3.4.2 A Note on Convergence | p. 68 |
3.4.3 Rate of Convergence of the Fixed-Point Iteration | p. 73 |
3.5 Newton's Method (Newton-Raphson Method) | p. 73 |
3.5.1 Rate of Convergence of Newton's Method | p. 77 |
3.5.2 A Few Notes on Newton's Method | p. 78 |
3.5.3 Modified Newton's Method for Roots with Multiplicity 2 or Higher | p. 79 |
3.6 Secant Method | p. 82 |
3.6.1 Rate of Convergence of Secant Method | p. 84 |
3.6.2 A Few Notes on Secant Method | p. 84 |
3.7 Equations with Several Roots | p. 84 |
3.7.1 Finding Zeros to the Right of a Specified Point | p. 85 |
3.7.2 Finding Zeros on Two Sides of a Specified Point | p. 87 |
3.7.3 Using f zero to Find Several Roots | p. 89 |
3.7.4 Points of Discontinuity Mistaken for Roots | p. 91 |
Problem Set | p. 92 |
4 Solution of Systems of Equations | p. 99 |
4.1 Linear Systems of Equations | p. 99 |
4.2 Numerical Solution of Linear Systems | p. 100 |
4.3 Gauss Elimination Method | p. 100 |
4.3.1 Choosing the Pivot Row: Partial Pivoting with Row Scaling | p. 102 |
4.3.2 Permutation Matrices | p. 104 |
4.3.3 Counting the Number of Operations | p. 107 |
4.3.3.1 Elimination | p. 107 |
4.3.3.2 Back Substitution | p. 108 |
4.3.4 Tridiagonal Systems | p. 109 |
4.3.4.1 Thomas Method | p. 109 |
4.3.4.2 MATLAB® Built-in Function "\" | p. 112 |
4.4 LU Factorization Methods | p. 112 |
4.4.1 Doolittle Factorization | p. 113 |
4.4.1.1 Doolittle's Method to Solve a Linear System | p. 116 |
4.4.1.2 Operations Count | p. 118 |
4.4.2 Cholesky Factorization | p. 118 |
4.4.2.1 Cholesky's Method to Solve a Linear System | p. 120 |
4.4.2.2 Operations Count | p. 122 |
4.4.2.3 MATLAB® Built-in Functions lu and chol | p. 122 |
4.5 Iterative Solution of Linear Systems | p. 122 |
4.5.1 Vector Norms | p. 123 |
4.5.2 Matrix Norms | p. 124 |
4.5.2.1 Compatibility of Vector and Matrix Norms | p. 126 |
4.5.3 General Iterative Method | p. 126 |
4.5.3.1 Convergence of the General Iterative Method | p. 127 |
4.5.4 Jacobi Iteration Method | p. 128 |
4.5.4.1 Convergence of the Jacobi Iteration Method | p. 129 |
4.5.5 Gauss-Seidel Iteration Method | p. 132 |
4.5.5.1 Convergence of the Gauss-Seidel Iteration Method | p. 133 |
4.5.6 Indirect Methods versus Direct Methods for Large Systems | p. 137 |
4.6 Ill-Conditioning and Error Analysis | p. 138 |
4.6.1 Condition Number | p. 138 |
4.6.2 Ill-Conditioning | p. 139 |
4.6.2.1 Indicators of Ill-Conditioning | p. 140 |
4.6.3 Computational Error | p. 141 |
4.6.3.1 Consequences of Ill-Conditioning | p. 143 |
4.6.4 Effects of Parameter Changes on the Solution | p. 144 |
4.7 Systems of NonLinear Equations | p. 146 |
4.7.1 Newton's Method for a System of Nonlinear Equations | p. 146 |
4.7.1.1 Method for Solving a System of Two Nonlinear Equations | p. 146 |
4.7.1.2 Method for Solving a System of n Nonlinear Equations | p. 150 |
4.7.1.3 Convergence of Newton's Method | p. 151 |
4.7.2 Fixed-Point Iteration Method for a System of Nonlinear Equations | p. 152 |
4.7.2.1 Convergence of the Fixed-Point Iteration Method | p. 152 |
Problem Set | p. 156 |
5 Curve Fitting (Approximation) and Interpolation | p. 175 |
5.1 Least-Squares Regression | p. 175 |
5.2 Linear Regression | p. 176 |
5.2.1 Deciding a "Best" Fit Criterion | p. 177 |
5.2.2 Linear Least-Squares Regression | p. 179 |
5.3 Linearization of Nonlinear Data | p. 182 |
5.3.1 Exponential Function | p. 182 |
5.3.2 Power Function | p. 183 |
5.3.3 Saturation Function | p. 183 |
5.4 Polynomial Regression | p. 188 |
5.4.1 Quadratic Least-Squares Regression | p. 190 |
5.4.2 Cubic Least-Squares Regression | p. 192 |
5.4.3 MATLAB® Built-in Functions polyfit and polyval | p. 195 |
5.5 Polynomial Interpolation | p. 196 |
5.5.1 Lagrange Interpolating Polynomials | p. 197 |
5.5.2 Drawbacks of Lagrange Interpolation | p. 200 |
5.5.3 Newton Divided-Difference Interpolating Polynomials | p. 200 |
5.5.4 Special Case: Equally Spaced Data | p. 203 |
5.5.5 Newton Forward-Difference Interpolating Polynomials | p. 206 |
5.6 Spline Interpolation | p. 208 |
5.6.1 Linear Splines | p. 209 |
5.6.2 Quadratic Splines | p. 210 |
5.6.2.1 Function Values at the Endpoints | p. 210 |
5.6.2.2 Function Values at the Interior Knots | p. 211 |
5.6.2.3 First Derivatives at the Interior Knots | p. 211 |
5.6.2.4 Second Derivative at the Left Endpoint is Zero | p. 212 |
5.6.3 Cubic Splines | p. 213 |
5.6.4 Construction of Cubic Splines: Clamped Boundary Conditions | p. 215 |
5.6.5 Construction of Cubic Splines: Free Boundary Conditions | p. 219 |
5.6.6 MATLAB® Built-in Functions interp1 and spline | p. 221 |
5.6.7 Boundary Conditions | p. 223 |
5.6.8 Interactive Curve Fitting and Interpolation in MATLAB® | p. 224 |
5.7 Fourier Approximation and Interpolation | p. 225 |
5.7.1 Sinusoidal Curve Fitting | p. 225 |
5.7.2 Linear Transformation of Data | p. 227 |
5.7.3 Discrete Fourier Transform | p. 232 |
5.7.4 Fast Fourier Transform | p. 233 |
5.7.4.1 Sande-Tukey Algorithm (N = 2 p , p = integer) | p. 234 |
5.7.4.2 Cooley-Tukey Algorithm (N=2 p , p = integer) | p. 238 |
5.7.5 MATLAB® Built-in Function fft | p. 238 |
5.7.5.1 Interpolation Using fft | p. 238 |
Problem Set | p. 241 |
6 Numerical Differentiation and Integration | p. 267 |
6.1 Numerical Differentiation | p. 267 |
6.2 Finite-Difference Formulas for Numerical Differentiation | p. 267 |
6.2.1 Finite-Difference Formulas for the First Derivative | p. 268 |
6.2.1.1 Two-Point Backward Difference Formula | p. 268 |
6.2.1.2 Two-Point Forward Difference Formula | p. 269 |
6.2.1.3 Two-Point Central Difference Formula | p. 269 |
6.2.1.4 Three-Point Backward Difference Formula | p. 271 |
6.2.1.5 Three-Point Forward Difference Formula | p. 272 |
6.2.2 Finite-Difference Formulas for the Second Derivative | p. 273 |
6.2.2.1 Three-Point Backward Difference Formula | p. 273 |
6.2.2.2 Three-Point Forward Difference Formula | p. 273 |
6.2.2.3 Three-Point Central Difference Formula | p. 274 |
6.2.2.4 Summary of Finite-Difference Formulas for First to Fourth Derivatives | p. 275 |
6.2.3 Estimate Improvement: Richardson's Extrapolation | p. 275 |
6.2.4 Derivative Estimates for Nonevenly Spaced Data | p. 280 |
6.2.5 MATLAB® Built-in Functions dif f and polyder | p. 281 |
6.3 Numerical Integration: Newton-Cotes Formulas | p. 283 |
6.3.1 Newton-Cotes Formulas | p. 284 |
6.3.2 Rectangular Rule | p. 284 |
6.3.2.1 Composite Rectangular Rule | p. 285 |
6.3.3 Error Estimate for Composite Rectangular Rule | p. 287 |
6.3.4 Trapezoidal Rule | p. 289 |
6.3.4.1 Composite Trapezoidal Rule | p. 290 |
6.3.4.2 Error Estimate for Composite Trapezoidal Rule | p. 291 |
6.3.5 Simpson's Rules | p. 292 |
6.3.5.1 Simpson's 1/3 Rule | p. 293 |
6.3.5.2 Composite Simpson's 1/3 Rule | p. 294 |
6.3.5.3 Error Estimate for Composite Simpson's 1/3 Rule | p. 295 |
6.3.5.4 Simpson's 3/8 Rule | p. 296 |
6.3.5.5 Composite Simpson's 3/8 Rule | p. 297 |
6.3.5.6 Error Estimate for Composite Simpson's 3/8 Rule | p. 298 |
6.3.6 MATLAB® Built-in Functions quad and trapz | p. 299 |
6.4 Numerical Integration of Analytical Functions: Romberg Integration, Gaussian Quadrature | p. 300 |
6.4.1 Richardson's Extrapolation, Romberg Integration | p. 301 |
6.4.1.1 Richardson's Extrapolation | p. 301 |
6.4.1.2 Romberg Integration | p. 304 |
6.4.2 Gaussian Quadrature | p. 306 |
6.5 Improper Integrals | p. 312 |
Problem Set | p. 313 |
7 Numerical Solution of Initial-Value Problems | p. 329 |
7.1 One-Step Methods | p. 329 |
7.2 Euler's Method | p. 330 |
7.2.1 Error Analysis for Euler's Method | p. 333 |
7.2.2 Calculation of Local and Global Truncation Errors | p. 333 |
7.2.3 Higher-Order Taylor Methods | p. 335 |
7.3 Runge-Kutta Methods | p. 338 |
7.3.1 Second-Order Runge-Kutta Methods | p. 338 |
7.3.1.1 Improved Euler's Method | p. 340 |
7.3.1.2 Heun's Method | p. 340 |
7.3.1.3 Ralston's Method | p. 340 |
7.3.1.4 Graphical Representation of Heun's Method | p. 341 |
7.3.2 Third-Order Runge-Kutta Methods | p. 343 |
7.3.2.1 Classical RK3 Method | p. 344 |
7.3.2.2 Heun's RK3 Method | p. 345 |
7.3.3 Fourth-Order Runge-Kutta Methods | p. 346 |
7.3.3.1 Classical RK4 Method | p. 347 |
7.3.3.2 Higher-Order Runge-Kutta Methods | p. 349 |
7.3.4 Runge-Kutta-Fehlberg Method | p. 350 |
7.4 Multistep Methods | p. 351 |
7.4.1 Adams-Bashforth Method | p. 351 |
7.4.1.1 Second-Order Adams-Bashforth Formula | p. 352 |
7.4.1.2 Third-Order Adams-Bashforth Formula | p. 353 |
7.4.1.3 Fourth-Order Adams-Bashforth Formula | p. 353 |
7.4.2 Adams-Moulton Method | p. 354 |
7.4.2.1 Second-Order Adams-Moulton Formula | p. 354 |
7.4.2.2 Third-Order Adams-Moulton Formula | p. 355 |
7.4.2.3 Fourth-Order Adams-Moulton Formula | p. 355 |
7.4.3 Predictor-Corrector Methods | p. 355 |
7.4.3.1 Heun's Predictor-Corrector Method | p. 356 |
7.4.3.2 Adams-Bashforth-Moulton Predictor-Corrector Method | p. 357 |
7.5 Systems of Ordinary Differential Equations | p. 360 |
7.5.1 Transformation into a System of First-Order ODEs | p. 360 |
7.5.1.1 State Variables | p. 360 |
7.5.1.2 Notation | p. 360 |
7.5.1.3 State-Variable Equations | p. 360 |
7.5.2 Numerical Solution of a System of First-Order ODEs | p. 363 |
7.5.2.1 Euler's Method for Systems | p. 363 |
7.5.2.2 Heun's Method for Systems | p. 366 |
7.5.2.3 Classical RK4 Method for Systems | p. 368 |
7.6 Stability | p. 371 |
7.6.1 Euler's Method | p. 371 |
7.6.2 Euler's Implicit Method | p. 372 |
7.7 Stiff Differential Equations | p. 374 |
7.8 MATLAB® Built-in Functions for Initial-Value Problems | p. 376 |
7.8.1 Nonstiff Equations | p. 376 |
7.8.1.1 Single First-Order IVP | p. 376 |
7.8.1.2 Setting ODE Solver Options | p. 378 |
7.8.1.3 System of First-Order IVPs | p. 379 |
7.8.2 Stiff Equations | p. 380 |
Problem Set | p. 382 |
8 Numerical Solution of Boundary-Value Problems | p. 401 |
8.1 Shooting Method | p. 402 |
8.2 Finite-Difference Method | p. 408 |
8.3 BVPs with Mixed Boundary Conditions | p. 413 |
8.4 MATLAB® Built-in Function bvp4c for BVPs | p. 417 |
8.4.1 Second-Order BVP | p. 417 |
Problem Set | p. 422 |
9 Matrix Eigenvalue Problem | p. 429 |
9.1 Power Method: Estimation of the Dominant Eigenvalue | p. 429 |
9.1.1 Inverse Power Method: Estimation of the Smallest Eigenvalue | p. 434 |
9.1.2 Shifted Inverse Power Method: Estimation of the Eigenvalue Nearest a Specified Value | p. 434 |
9.1.2.1 Shifted Power Method | p. 437 |
9.1.3 MATLAB® Built-in Function eig | p. 439 |
9.2 Deflation Methods | p. 440 |
9.2.1 Wielandt's Deflation Method | p. 440 |
9.2.1.1 Deflation Process | p. 441 |
9.3 Householder Tridiagonalization and QR Factorization Methods | p. 444 |
9.3.1 Householder's Tridiagonalization Method (Symmetric Matrices) | p. 445 |
9.3.1.1 Determination of Symmetric Orthogonal P k (k = 1,2,..., n-2) | p. 446 |
9.3.2 QR Factorization Method | p. 449 |
9.3.2.1 Determination of Q k and R k Matrices | p. 450 |
9.3.2.2 Structure of L k (k = 2,3,..., n) | p. 451 |
9.3.2.3 MATLAB® Built-in Function qr | p. 452 |
9.3.3 Transformation to Hessenberg Form (Nonsymmetric Matrices) | p. 456 |
Problem Set | p. 457 |
10 Numerical Solution of Partial Differential Equations | p. 463 |
10.1 Introduction | p. 463 |
10.2 Elliptic PDEs | p. 464 |
10.2.1 Dirichlet Problem | p. 464 |
10.2.2 Alternating Direction-Implicit Methods | p. 469 |
10.2.2.1 Peaceman-Rachford Alternating Direction-Implicit Method | p. 470 |
10.2.3 Neumann Problem | p. 476 |
10.2.3.1 Existence of Solution for Neumann Problem | p. 478 |
10.2.4 Mixed Problem | p. 479 |
10.2.5 More Complex Regions | p. 480 |
10.3 Parabolic PDEs | p. 483 |
10.3.1 Finite-Difference (FD) Method | p. 483 |
10.3.1.1 Stability and Convergence of the FD Method | p. 485 |
10.3.2 Crank-Nicolson (CN) Method | p. 487 |
10.3.2.1 CN Method versus FD Method | p. 491 |
10.4 Hyperbolic PDEs | p. 493 |
10.4.1 Starting the Procedure | p. 494 |
Problem Set | p. 498 |
Bibliography | p. 511 |
Index | p. 513 |