“I want you to discover that MATLAB is your friend when you are learning this [complex variables] type of mathematics.”
Introduction to the book
This book is an exploration of complex variables with MATLAB as your guide. The idea is for a student to learn complex variable theory and the text will show her how to use MATLAB to illustrate the mathematics. I found, however, that the text falls flat both on teaching complex variables and on using MATLAB.
A blurb on the back cover cites the book as a way for students to learn a programming language to meet ABET (the engineering accrediting agency) requirements. Unfortunately, this book is not one for students to learn MATLAB. The text is neither a tutorial nor a guide to MATLAB. The author provides MATLAB coding examples, but there are many other better books from which to learn MATLAB. A student can easily find tutorials with excellent examples in a quick search of the World Wide Web. What is more, these examples will not burden the student with having to know complex variable theory, which obscures the MATLAB discussion.
On the other hand, if the book is about complex variables then it falls short on that score, too. The author does not adequately explain complex variables or functions of complex variables. This topic deserves its own mathematics course and textbook. While I found the complex variable presentations enjoyable, I learned the material in a mathematics class. I do not think I could learn that material here.
Most of the topics discussed in the book, such as the Fourier transform and Z-transform, require an in-depth explanation that is absent here. For example, throughout the text the author refers to “W” and “S” as references and advises the reader to look to these sources for details. “W” is the author’s own book Complex variables with Applications, and “S” is Schaum’s outline on Complex Variables. So even the author realizes his book needs supplemental text on complex variable theory and says so.
Next, let’s discuss the general idea of using MATLAB as a programming language for students. MATLAB is a fabulous language; it is easy to use and popular. However, MATLAB can be expensive and outside of educational institutions it is particularly expensive to purchase. A better choice would have been to illustrate complex variables with an open source and free language such as Octave. Octave has an intuitive Graphical User Interface much like MATLAB and it mimics the commands and structure of MATLAB. It has a similar programming environment and the language that can serve students well beyond school.
What is more, students would be better prepared for programming if they learned, say, Python or C. These are true programming languages. Python is available for free and it, too, has a multitude of free and lucid on-line resources for help and examples. C is perhaps the most widely used programming language. From it students would learn not just a programming language but how computers represent numbers and data structures so that they can expand their knowledge to computer operations and interfacing. In fact, C allows students to create executable files they can run without requiring the original programming environment.
What if a student has no choice and must use MATLAB? He can be benefit from on-line MATLAB tutorials and should experiment with various commands and scripts to learn the language and capabilities. Plus, the MATLAB help is wonderful, as is Octave help. Both are easy to play with, run experiments, and excellent code examples are on the web.
It is unfortunate that this book tries to be two texts in one. The complex variable portion falls flat because it lacks the depth needed to explain complex variables to the uninitiated reader; a learned reader will not need the complex variable discussion. And the programming portion would be better delivered on-line with a free text or other readily available sources.d
David S. Mazel is a practicing engineer in Washington, DC. He welcomes your thoughts and feedback. He can be reached at mazeld at gmail dot com.