You are here

Scientific Computing with MATLAB

Dingyü Xue and YangQuan Chen
Chapman & Hall/CRC
Publication Date: 
Number of Pages: 
[Reviewed by
William J. Satzer
, on

This is the second edition of a textbook that aims to address many topics across the spectrum of scientific computing. The authors describe a new way of learning scientific computing that focuses more on “computational thinking”. Throughout the book they propose to use a three-phase methodology consisting of “what”, “how”, and “solve”. In the “what” phase, the student learns the physical basis of the mathematical problem that is to be solved. The “how” phase involves describing the problem in a way that is compatible with MATLAB software. Then the “solve” phase identifies appropriate MATLAB functions needed to solve the problem directly. It sounds so simple!

The authors’ underlying philosophy is that it is possible to solve advanced mathematical problems with a computer without a complete preparation in mathematics. They say, “Busy students, engineers and scientists need ‘fast food’ ways to compute and get problems solved reliably.” One might reasonably worry about the resulting intellectual indigestion, but the authors do make an enthusiastic case for their argument.

The book begins with a survey of computer mathematical languages and pretty quickly comes down to recommending MATLAB over Mathematica, Maple and conventional computer languages because of its capability for numerical computation. The authors then proceed to offer an introduction to MATLAB and quickly move on from there. They note that there are thousands of MATLAB functions and they believe that the major contribution of the book is to bridge the gap between problems and solutions using well-grouped topics and MATLAB example scripts.

There are seven major “problem” sections. They begin with calculus problems, and proceed through linear algebra, integral transforms with complex-valued functions, nonlinear equations with numerical optimization, differential equations, data interpolation and approximation, probability and statistics. The book concludes with a chapter on “nontraditional mathematical branches” that includes fuzzy logic, rough set theory, neural networks, wavelets and a scattering of other topics.

The overall number of topics is so large that the authors simply cannot carry out the program they propose. There is just too much stuff and it is seriously short on detail. First of all, a reader would have to be competent with MATLAB to make any progress at all because the book’s introduction falls well short of what would be needed for a new user. Beyond that, treatment of individual topics throughout the book is often so abbreviated as to be largely inaccessible to the readers that the authors seem to want to address. Typically a topic gets a short introduction, usually less than four pages. Examples follow. They take the form of a short problem statement, a series of MATLAB commands, and then a solution. As an example, the whole of digital filter design — a serious and reasonably difficult subject for electrical engineering students — is treated in Chapter 8 in four pages of development and three pages of exercises. If readers were not already familiar with digital filters, they’re unlikely to learn much here.

In the authors’ terminology, the “what” is consistently and seriously neglected, and the transition from “what” to “how” is frequently insufficient. The presentation is so consistent in this respect that one has to wonder what the authors had in mind and what kind of readers they expected. Those readers with experience and skill in numerical computation and a decent familiarity with MATLAB are likely to find useful tidbits and suggestions. As a reference like this, the book has some merits. It does not have much to offer less experienced readers.

Bill Satzer ( was a senior intellectual property scientist at 3M Company. His training is in dynamical systems and particularly celestial mechanics; his current interests are broadly in applied mathematics and the teaching of mathematics.

Computer Mathematics Languages — An Overview
Computer Solutions to Mathematics Problems
Summary of Computer Mathematics Languages
Outline of the Book


Fundamentals of MATLAB Programming and Scientific Visualization
Essentials in MATLAB Programming
Fundamental Mathematical Calculations
Flow Control Structures of MATLAB Language
Writing and Debugging MATLAB Functions
Two-Dimensional Graphics
Three-Dimensional Graphics
Four-Dimensional Visualization


Calculus Problems
Analytical Solutions to Limit Problems
Analytical Solutions to Derivative Problems
Analytical Solutions to Integral Problems
Series Expansions and Finite-Term Series Approximations
Infinite Series and Products
Path Integrals and Line Integrals
Surface Integrals
Numerical Differentiation
Numerical Integration Problems


Linear Algebra Problems
Inputting Special Matrices
Fundamental Matrix Operations
Fundamental Matrix Transformations
Solving Matrix Equations
Nonlinear Functions and Matrix Function Evaluations


Integral Transforms and Complex-Valued Functions
Laplace Transforms and Their Inverses
Fourier Transforms and Their Inverses
Other Integral Transforms
z Transforms and Their Inverses
Essentials of Complex-Valued Functions
Solving Complex-Valued Function Problems
Solutions of Difference Equations


Nonlinear Equations and Numerical Optimization Problems
Nonlinear Algebraic Equations
Nonlinear Equations with Multiple Solutions
Unconstrained Optimization Problems
Constrained Optimization Problems
Mixed Integer Programming Problems
Linear Matrix Inequalities
Solutions of Multi-Objective Programming Problems
Dynamic Programming and Shortest Path Planning


Differential Equation Problems
Analytical Solution Methods for Some Ordinary Differential Equations
Numerical Solutions to Ordinary Differential Equations
Transforms to Standard Differential Equations
Solutions to Special Ordinary Differential Equations
Solutions to Delay Differential Equations
Solving Boundary Value Problems
Introduction to Partial Differential Equations
Solving ODEs with Block Diagrams in Simulink


Data Interpolation and Functional Approximation Problems
Interpolation and Data Fitting
Spline Interpolation and Numerical Calculus
Fitting Mathematical Models from Data
Rational Function Approximations
Special Functions and Their Plots
Signal Analysis and Digital Signal Processing


Probability and Mathematical Statistics Problems
Probability Distributions and Pseudorandom Numbers
Solving Probability Problems
Fundamental Statistical Analysis
Statistical Estimations
Statistical Hypothesis Tests
Analysis of Variance
Principal Component Analysis


Topics on Nontraditional Mathematical Branches
Fuzzy Logic and Fuzzy Inference
Rough Set Theory and Its Applications
Neural Network and Applications in Data Fitting Problems
Evolutionary Computing and Global Optimization Problem Solutions
Wavelet Transform and Its Applications in Data Processing
Fractional-Order Calculus

MATLAB Functions Index