Several years ago, I reviewed the first edition of this book, so it was interesting to see how the text has developed in its new edition. As its name suggests, the book provides a guide to using the MATLAB software package to aid an exploration of "areas of mathematics that are of particular interest to scientists and engineers." Those seeking an exhaustive description of the full functionality of the MATLAB package should look elsewhere, for here MATLAB is used as "a tool, to convince ourselves that mathematics really works." Furthermore, the author states that the book should be "regarded as a complement, rather than an alternative, to your ordinary textbooks in the various branches of mathematics." The text is divided into 25 short, well-focused chapters. This should be appreciated by students and makes it easy to navigate the book and, if desired at a later stage, return to a particular subject in isolation. Taking a leisurely tour through the contents, as usual, the starting point is basic use of MATLAB as a scientific calculator; some useful elementary functions are introduced in chapter 1 and illustrated in the new chapter on geometric applications that follows. Continuing with the use of geometry as a motivator, vectors in two- and three-dimensions are covered next. This is a useful way of gently introducing one of MATLAB's most fundamental and powerful features, its matrix and vector handling capabilities. This material is further discussed in the following two chapters on general vectors and systems of linear equations and also underpins the subsequent coverage of graph plotting. Much of the MATLAB "basics" material is covered in a more extensive fashion than was the case in the first edition of the text. This is particularly the case with the chapters on script and function files and means that at the end of this first section of the book, the previously inexperienced reader should have developed a thorough grasp of MATLAB fundamentals. At the same time, some essential mathematical basics will have been revised and consolidated. The text now turns to more overtly mathematical subject matter. The introductory material is gradually built upon and developed as we begin to look at some topics in algebra and calculus. Indeed, the next several chapters, on the solution of non-linear equations, limits, derivatives, sums and integrals, hang together in a particularly coherent way. More generally, mathematical ideas and basic numerical methods are illustrated by making extensive use of example script and function files, usually involving graphical output. This is an approach that works well. The example files are fairly short and are presented clearly and explained in detail. Furthermore, the reader can easily tackle problems of their own by making relatively minor changes to the script or function provided. Another nice touch is that where appropriate, the reader is also introduced to powerful in-built MATLAB commands for carrying out advanced numerical methods for root finding, definite integration and, later, the numerical solution of differential equations. In the main, the learning curve is fairly shallow, and as a result the book is comforting to work through. As they do so, most students should be regularly reminded of material covered elsewhere in their course and have their learning enhanced as a result. Of the later content, much of the material on statistics and differential equations is fairly similar to that which appeared in the first edition. Having said this, the three chapters on differential equations, which form a particularly homogeneous section of the book, are worthy of special mention. New additions to the second edition include: (a) more extensive chapters on complex numbers and functions, and on fitting a function to data, (b) a new chapter on functions of two variables, (c) two major new chapters on Fourier Series and Fourier Transforms. The material on eigenvalues and eigenvectors has been expanded and moved into an appendix. Some of the new additions do take the content of the book a little away from what could be described as "introductory mathematics". In particular, from both a computational and a mathematical perspective, the chapter on fitting functions to data contains some quite technical material. Likewise, the new chapters on Fourier series and transforms could prove quite a challenge, especially as they contain a couple of typographical/notational errors. A couple of criticisms of the first edition are still valid. Firstly, the motivating examples are still drawn almost exclusively from physical applications and secondly, I still think the Exercises exhibit some scope for improvement. Having said this, many of my overall conclusions are also still valid and I make no apology for reproducing these below, largely unchanged, from my earlier review. Conclusions MATLAB is such a sophisticated package that it is hard to know what to leave out of a book like this. Everyone could make a case for some of his or her favourite functions, subjects or applications to be included. However, it is to the author's credit that he has managed to cover plenty of useful mathematics, while requiring that the use of the package be kept largely at an introductory level. There is a reasonably wide choice of textbooks in this area, but I feel that students will find this to be one of the more accessible. The dual emphasis on (a) reinforcing useful mathematics and (b), teaching MATLAB make this an ideal text for undergraduate engineering, science or mathematics students having access to MATLAB. I would also not hesitate to recommend the text as valuable background reading for mathematics students embarking upon courses in Numerical Analysis, where much of the subject matter discussed here is directly relevant and MATLAB is a commonly used teaching tool. Finally, in my opinion, the second edition is a definite improvement upon the first. It retains the same compact form and readable style, but is better organised and illustrated, contains several useful additions to the mathematical content and makes better use of MATLAB function files. |