The title suggests the book is about MATLAB programming, and it is. It’s also about numerical analysis. It’s a textbook for a numerical analysis course that integrates MATLAB programming as its method for solving numerical analysis problems. The table of contents reinforces this idea: (1) “The First Few Steps”; (2) “Basic Considerations”; (3) “Computing Integrals”; (4) “Solving Ordinary Differential Equations”; (5) “Solving Partial Differential Equations”; and (6) “Solving Nonlinear Algebraic Equations.”

Each chapter offers numerical analysis problems to be solved. The authors walk the reader through the solution, using MATLAB source code to solve each problem, and provide the mathematical formulas for each problem presented. Though there are numerical analysis software products on the market to solve the selected problems, the authors have chosen to teach good techniques in structured programming to solve the problem. Moreover, the authors focus on verification and integrity in their coding examples. As the reader progresses through the text, the problems become more complex and the additional capabilities and complexity of MATLAB are introduced to solve the problem. The presentation is done well; it is easy to follow and pedagogically sound. The development of good code is stressed throughout the text. The examples presented are interesting to a broad audience. The textbook requires a good grounding in mathematics including college-level algebra and introductory calculus. End-of-chapter exercises are adequate and additional pedagogic material and exercises are available (http://hplgit.github.io/prog4comp/doc/pub/p4c-bootstrap-Matlab.html).

This text uses commercial MATLAB or open-source Octave. A companion version using Python is available and supplemental materials are also available at a companion website to the one noted above.

This product is different from many others in numerical analysis or structured programming. Usually one finds a text devoted to one or the other. This is a successful attempt to combine the two.