×

Applied numerical method using MATLAB. (English) Zbl 1075.65001

Hoboken, NJ: John Wiley & Sons. (ISBN 0-471-69833-4/hbk; 978-0-471-70519-2/ebook). xiv, 509 p. (2005).
As the authors declare in their preface, this book introduces applied numerical methods for engineering and science students; it targets the students of today who do not like or do not have time to derive and prove mathematical results. The book is focused on problem-solving skills using numerical methods with the help of Matlab and omits tedious derivations.
Given the above restrictions, the authors accomplish their goal very well. After a first chapter on basic Matlab usage and computational errors (including IEEE 64-bit floating point representation), the following subjects are treated:
Chapter 2: Solution of linear systems, including least squares error and minimum norm solutions, matrix decompositions, Jacobi and Gauss-Seidel iterations.
Chapter 3: Interpolation and curve fitting, including Lagrange, Newton, Chebyshev and Hermite polynomials, Pade approximation, cubic splines, two-dimensional interpolation, curve fitting and Fourier transform.
Chapter 4: Nonlinear equations, including iterative method toward fixed point, bisection, regula falsi, Newton-Raphson and secant for a single equation, Newton for a system and symbolic solutions.
Chapter 5: Numerical differentiation and integration, including difference approximation for second and higher derivatives, adaptive quadrature, Gauss-Legendre, Gauss-Hermite, Gauss-Laguerre and Gauss-Chebyshev integration, double integrals.
Chapter 6: Ordinary differential equations, including Runge-Kutta methods, predictor – corrector methods, vector differential equations, boundary value problems with the shooting and finite difference methods.
Chapter 7: Optimization, including the conjugate gradient method, simulated annealing and genetic algorithms for unconstrained problems, Lagrange multipliers and the penalty function method for constrained optimization.
Chapter 8: Matrices and eigenvalues, including the power and inverse power method, the Jacobi method and eigenvalue equations.
Chapter 9: Partial differential equations, including forward and backward Euler and the Crank-Nicholson method for parabolic PDEs, the explicit central difference method for hyperbolic PDEs, finite element methods and the GUI of Matlab PDETOOL for solving PDEs.
The basic algorithms introduced in the book are followed by example Matlab codes which the students can modify to solve their problems. The book is very carefully written with many examples and applications and can certainly be recommended to engineers and applied scientists and to those who teach courses for students of these disciplines.
Nevertheless, we have some comments. First, it is strange that the book does not mention the Matlab toolboxes in spite of the fact that it assumes that e.g. the symbolic toolbox is present. Since toolboxes have to be paid for separately, this is a nontrivial issue. Second, there is no mention of the more advanced programming features of Matlab, e.g. cells and function handles. Since these are essential for efficient codes, the reader should be aware that he needs more information if he is interested in producing Matlab software.
The book presents and uses a large number of Matlab files but it is not clear if these are available online. The subject of eigenvalues and eigenvectors of large matrices is not considered in great detail, in spite of the fact that linear algebra is the core business of Matlab. So there is no mention of Krylov subspaces or the Arnoldi method; even the eigs command is never mentioned in the book.
Formulae for difference approximations of higher order derivatives are given in Chapter 5.3 but there is no discussion of the choice of the increment. No warning is given that such approximations can be very inaccurate. At the time of writing this review the reviewer was not able to find the website [W-1] to which the book refers. In spite of these warnings, the reviewer feels that the book is very good and he intends to use it for quick reference and perhaps as an aid in future teaching.

MSC:

65-01 Introductory exposition (textbooks, tutorial papers, etc.) pertaining to numerical analysis
65Dxx Numerical approximation and computational geometry (primarily algorithms)
65Fxx Numerical linear algebra
65Hxx Nonlinear algebraic or transcendental equations
65Lxx Numerical methods for ordinary differential equations
65K05 Numerical mathematical programming methods
65Mxx Numerical methods for partial differential equations, initial value and time-dependent initial-boundary value problems
15-04 Software, source code, etc. for problems pertaining to linear algebra
34-04 Software, source code, etc. for problems pertaining to ordinary differential equations
35-04 Software, source code, etc. for problems pertaining to partial differential equations
41-04 Software, source code, etc. for problems pertaining to approximations and expansions
12-04 Software, source code, etc. for problems pertaining to field theory
68W30 Symbolic computation and algebraic computation
65Y15 Packaged methods for numerical algorithms

Software:

Matlab; PDETool
PDFBibTeX XMLCite
Full Text: DOI