Designed to give undergraduate engineering students a practical and rigorous introduction to the fundamentals of numerical computation.
This book is a thoroughly modern exposition of classic numerical methods using MATLAB. The fundamental theory of each method is briefly developed. Rather than providing a detailed numerical analysis, the behavior of the methods is exposed by carefully designed numerical experiments. The methods are then exercised on several nontrivial example problems from engineering practice. The material in each chapter is organized as a progression from the simple to the complex. This leads the student to an understanding of the sophisticated numerical methods that are part of MATLAB. An integral part of the book is the Numerical Methods with MATLAB (NMM) Toolbox, which provides 150 programs and over forty data sets. The NMM Toolbox is a library of numerical techniques implemented in structured and clearly written code.
- Clarity-Development of the numerical methods is self-contained, complete, and uncluttered. Each chapter begins with the simplest routine for a particular class of problems, and then develops progressively more sophisticated routines. The goal is not necessarily to be exhaustive, but rather to introduce more powerful methods as enhancements to simpler methods.
- Emphasis Of Application Over Theory-The mathematical foundation of each method is developed, but the emphasis of the presentation is on the application of numerical methods.
- Companion Website-With many support resources. http://www.prenhall.com/rechtenwald
- Numerical Experiments-Behavior of the numerical methods is demonstrated by numerical experiments instead of by mathematical proof. The theoretical performance (e.g. convergence rate, truncation error) of a method is stated and then verified by solving a well-defined problem with known solution.
- MATLAB Reference-The book contains an extensive reference to using MATLAB. This includes interactive (command line) use of MATLAB, MATLAB programming, plotting, file input and output.
- NMM Toolbox-The code supplied with the book is organized into a library of reusable components. All programs in the NMM Toolbox are structured, concise, efficient, and use the MATLAB idiom. The Toolbox contains almost 150 programs and over forty data sets from a variety of applications.
- Over 130 Examples-Each chapter contains a large number of examples of two basic types. One type of example demonstrates a principle or numerical method in the simplest possible terms. Another type of example demonstrates how a particular method can be used to solve a more complex practical problem.
- Over 300 Problems-End-of-Chapter problems cover all aspects of the methods presented in the book. Each problem is rated on a difficulty/effort scale.
- Flexibility-The book provides more material than would usually be covered in a one-semester course. The text is heavily cross-referenced so that supporting material from other chapters can be easily located.
- Supplemental Material-Study guides, lecture slides, and in-class worksheets are available via the web.
Table of Contents
(NOTE: Chapters 2-12 conclude with Summary.)
Terminology. MATLAB Overview. Organization of the Book. Rating Systems for Exercises.
I. MATLAB BASICS. 2. Interactive Computing with MATLAB.
Running MATLAB. Matrices and Vectors. Additional Types of Variables. Managing the Interactive Environment. Plotting in MATLAB.3. MATLAB Programming.
Script m-Files. Function m-Files. Input and Output. Flow Control. Vectorization. Deus ex Machina.4. Organizing and Debugging MATLAB Programs.
Organizing and Documenting m-Files. Organizing a Numerical Solution. Debugging.
II. NUMERICAL TECHNIQUES. 5. Unavoidable Errors in Computing.
Digital Representation of Numbers. Finite Precision Arithmetic. Truncation Error of Algorithms.6. Finding the Roots of f(x)=0.
Preliminaries. Fixed-Point Iteration. Bisection. Newton's Method. The Secant Method. Hybrid Methods. Roots of Polynomials.7. A Review of Linear Algebra.
Vectors. Matrices. Mathematical Properties of Vectors and Matrices. Special Matrices.8. Solving Systems of Equations.
Basic Concepts. Gaussian Elimination. Limitations on Numerical Solutions to Ax = b. Factorization Methods. Nonlinear Systems of Equations.9. Least-Squares Fitting of a Curve to Data.
Fitting a Line to Data. Least-Squares Fit to a Linear Combination of Functions. Multivariate Linear Least-Squares Fitting.10. Interpolation.
Basic Ideas. Interpolating Polynomials of Arbitrary Degree. Piecewise Polynomial Interpolation. MATLAB's Built in Interpolation Functions.11. Numerical Integration.
Basic Ideas and Nomenclature. Newton-Cotes Rules. Gaussian Quadrature. Adaptive Quadrature. Improper Integrals and Other Complications.12. Numerical Integration of Ordinary Differential Equations.
Basic Ideas and Nomenclature. Euler's Method. Higher Order One-Step Methods. Adaptive Stepsize Algorithms. Coupled ODEs. Additional Topics.Bibliography. Appendix A: Eigenvalues and Eigensystems.
Eigenvectors Map onto Themselves. Mathematical Preliminaries. The Power Method. Built-in Functions for Eigenvalue Computation. Singular Value Decomposition.Appendix B: Sparse Matrices.
Storage and Flop Savings. MATLAB Sparse Matrix Format.MATLAB Toolbox Functions. Listings for NMM Toolbox m-Files. Subject Index.
This book is an introduction to MATLAB and an introduction to numerical methods. It is written for students of engineering, applied mathematics, and science. The primary objective of numerical methods is to obtain approximate solutions to problems that are not obtainable by other means. This book teaches how the core techniques of numerical methods are used to solve otherwise unsolvable problems of modern technological significance.
The outstanding pedagogical features of this book are:
- use of numerical experiments as a means of learning why numerical methods work and how they fail
- a separate chapter reviewing the basics of applied linear algebra, and how computations involving matrices and vectors are naturally expressed in MATLAB
- use of a range of examples from those that provide a succinct illustration of a basic algorithm, to those that develop solutions to substantial problems in engineering
- consistent use of well-documented and structured code written in the MATLAB idiom
- a library of general purpose routines-the NMM Toolbox-that are readily applied to new problems
- a progressive approach to algorithm development leading the reader to an understanding of the more sophisticated routines in the built-in MATLAB toolbox.
The primary goals of the book are to provide a solid foundation in applied computing, and to demonstrate the implementation and application of standard numerical methods to practical problems. This is achieved by a systematic development of techniques beginning with the simple and ending with the sophisticated. Good programming practice is used throughout to show the reader how to clearly express and document computational ideas. By providing an extensive library of working codes, as well as an exposition of the methods used by the built-in MATLAB toolbox, the reader is challenged by the application of numerical methods to practical problems. This bypasses the ritual of forcing the reader to reinvent simple programs that fail on more technologically significant, practical problems.
GERALD RECKTENWALD is an Associate Professor of Mechanical Engineering at Portland State University, and regularly teaches courses in Numerical Methods.