You are here

Scientific Computing with MATLAB and Octave

Alfio Quarteroni. Fausto Saleri and Paola Gervasio
Publication Date: 
Number of Pages: 
Texts in Computational Science and Engineering 2
[Reviewed by
Robert W. Hayden
, on

The title could cover a multitude of sins! It does make one thing clear — the software of choice is MATLAB and Octave. MATLAB is a commercial programming language for number crunching, originally designed to implement the best algorithms for matrix computations. In the default version covered here it does not include a computer algebra system. Octave is a free alternative to MATLAB.

Be warned, though, that this book does not try to teach students to program well, nor at all for that matter. After a very brief introduction to the software, the text provides code for nearly everything that is done. Students need to be able to run (and perhaps tweak) the code but not write much code of their own. This leaves it to the instructor to decide how much actual programming to teach. Teaching none runs the risk that students will not be able to solve problems other than those covered in this text. On the other hand, it facilitates offering a course to a variety of students who may use different software in their major.

The specific applications covered here are mostly classical topics such as solving equations, approximating, optimizing, and doing calculus (including differential equations) — all numerically. There is minimal coverage of simulation techniques and no coverage of computer algebra. There is considerable discussion of the strengths and weaknesses of the algorithms mentioned and often multiple methods are discussed and compared. Numerical analysis topics such as accuracy, convergence, and stability appear throughout. However, there are few proofs in either the exposition of the exercises. There is also minimal coverage of hardware issues. The stated prerequisite is “calculus,” though some familiarity with more than two dimensions would be useful.

Each chapter begins with an interesting assortment of applications to be solved in the remainder of the chapter. There is a reasonable number and variety of exercises. The text is generally well-written with a few oddities of translation. Chapters typically end with a section titled, “What we haven’t told you” that makes students aware of further topics and provides references to same.

Textbooks with similar titles are quite diverse. Indeed, this book might fit some courses called “numerical analysis”. It could be a good choice if the coverage matches your goals. This reviewer would like to see students learn to write their own well-organized and documented code, but that skill might be acquired elsewhere in the curriculum.

After a few years in industry, Robert W. Hayden ( taught mathematics at colleges and universities for 32 years and statistics for 20 years. In 2005 he retired from full-time classroom work. He now teaches statistics online at and does summer workshops for high school teachers of Advanced Placement Statistics. He contributed the chapter on evaluating introductory statistics textbooks to the MAA's Teaching Statistics.

1. What can' t be ignored

2. Nonlinear equations

3. Approximation of functions and data

4. Numerical differentiation and integration

5. Linear systems

6. Eigenvalues and eigenvectors

7. Numerical optimization

8. Ordinary differential equations

9. Numerical approximation of boundary-value problems

10. Solutions of the exercises