Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Numerical methods using MATLAB
Gupta A., Apress, Berkeley, CA, 2014. 156 pp. Type: Book (978-1-484201-55-8)
Date Reviewed: Jul 10 2015

This book has a subtitle: Learn how to apply a wide range of common numerical methods within the MATLAB environment, and its intended readership is engineers wanting either “a complementary book for a MATLAB course” or a “companion in your research anywhere you go.” Finally, it will “only give concise and practical information to help you to effectively solve your research problems in less time.”

How-to books for solving numerical application problems and aimed at nonexpert computing readers should always emphasize the need for caution, the need to check all computed results carefully, and the mantra “don’t reinvent the wheel.”

MATLAB is an ideal vehicle for providing easy access to a wealth of problem-solving functionalities; its great advantage is its huge number of built-in functions that allow the straightforward solution of many (but by no means all) numerical problems.

The current volume only takes this course in a very half-hearted way. For example, the subject of numerical integration arises in several places in the book; in chapter 3, it is used to introduce the trapezium rule via the use of the MATLAB function trapz. This function does not require the user to supply an integrand function, but rather an array of function values from which it computes an approximation to the integral. No comment is made about how the user might need to control the accuracy of the approximation or how expensive this approach may be, computationally, for different integrals. This approach (the use of trapz) is then extended to integration over an infinite range (think of a large number in place of infinity) and double integrals (use the trapz function twice). Why make life difficult? Don’t reinvent the square wheel. A better approach would be to point out the shortcomings of trapz and introduce the MATLAB functions integral (which also allows for integration limits to be infinite) and integral2 (which computes double integrals), both of which provide user control over the accuracy of the approximation returned. These methods also have the advantage of using sophisticated algorithms, which provide a far better chance of generating a reliable and accurate approximation. This is just one of many examples in the text.

The second requirement of any book designed to help a beginner with a new programming environment is that it is not peppered with typographical errors. Unfortunately, this one is. From missing operators, incorrect variable names, and sloppy and confusing formatting of MATLAB code to incorrect logic, erroneous results, and elliptical circles, they are all present.

Third, there is no attempt to instill or reinforce by example any good programming practices. There is no index entry for comment although a few do creep in in later chapters. Vectorization appears to be the author’s pet subject, but there is no discussion about what effect some vectorizations may have on readability of code or whether there may be a hidden cost in trading execution speed against additional storage requirements. The word “tricks” appears quite frequently. Certainly for one-off programs we coders are allowed to be sloppy, but we should also be aware that such sloppiness should cease as soon as the software gets serious.

Finally, mention should be made of the poor typesetting (it’s often very difficult to pick out MATLAB variable and function names when they appear in the main text); the “common numerical methods,” which include genetic algorithms and particle swarm optimization, but not the solution of linear equations; and the over-optimistic/cavalier/naive view of the numerical computational world: “In this chapter [14 pages], we have learnt how we can numerically solve any ODE [ordinary differential equation] with initial or boundary conditions using MATLAB inbuilt functions.” Oh, if only life were so simple!

Reviewer:  T. Hopkins Review #: CR143599 (1509-0761)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Matlab (G.4 ... )
 
 
Numerical Algorithms (G.1.0 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Matlab": Date
Using MATLAB to analyze and design control systems
Leonard N., Levine W., Benjamin-Cummings Publ. Co., Inc., Redwood City, CA, 1992. Type: Book (9780805354232)
Oct 1 1992
Engineering problem solving with MATLAB
Etter D., Prentice-Hall, Inc., Upper Saddle River, NJ, 1993. Type: Book (9780132804707)
Nov 1 1994
MATLAB tools for control system analysis and design
Kuo B., Hanselman D., Prentice-Hall, Inc., Upper Saddle River, NJ, 1994. Type: Book (9780130346469)
Jun 1 1995
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy