- Paperback: 466 pages
- Publisher: CRC Press; 1 edition (January 11, 2000)
- Language: English
- ISBN-10: 1929629095
- ISBN-13: 978-1929629091
- Product Dimensions: 9.2 x 7.4 x 1.2 inches
- Shipping Weight: 2 pounds
- Average Customer Review: 16 customer reviews
- Amazon Best Sellers Rank: #669,158 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Math Toolkit for Real-Time Programming 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
All Books, All the Time
Read author interviews, book reviews, editors picks, and more at the Amazon Book Review. Read it now
Customers who bought this item also bought
About the Author
Jack Crenshaw holds a Ph.D. in physics from Auburn University (specialties in math, electronics, and advanced dynamics). He wrote his first computer program in 1956 and his first microcomputer software a real-time, floating-point, Kalman filter-driven controller in 1976. He has been working with real-time software for embedded systems ever since, and thinks he might be beginning to get the hang of it. He is currently a senior principal design engineer for Alliant TechSystems, Inc., a contributing editor for Embedded Systems Programming magazine, and author of the popular 'Programmer's Toolbox' column. In his spare time, he likes to dabble in compiler theory, guidance and control theory, and help rehabilitate orphaned and injured wildlife.
Discover books for all types of engineers, auto enthusiasts, and much more. Learn more
Top customer reviews
The book reads like and exploration. It almost seems like the author isn't exactly sure where he'll end up -- he's learning with you as you go along. I don't think that's the case, but it makes the reading fun (considering the topic).
My number one complaint about the book is that there are very little or no comments in the code. There are pages of equations and derivations of the equations followed by code of a function. I didn't understand how the code related to the equations. It would have been a tremendous help to put a one line comment next to each section or line of the code referring to an equation number. Many equations deal with variables like x, y, or a. It doesn't help me much when a variable inside of code is called "x". I have no idea of its use or where it came from. It would have been even better if after each section of the math, the author put the line of code it referred to, and after the algortihm was complete, write the whole function down.
Another minor issue I had with the book was that it was written in the first person and the author tried to make humorous remarks throughout. I understand that he was trying to make it fun and while some people may appreciate it, I found it annoying.
The author does not seem to follow his own advice. The book is clearly not written for any one programming language. Most of the code is written in C, but he has references to pascal, c++, and says that fortran is basically a dead language but refers to fortran throughout the book. He makes it a point to state that he has good coding style and has a whole chapter on constants. He #defines One as 1.0 to avoid wasting run time cycles from converting an int to a double. The compiler may do this, but he adds "to take the chance is bad programming practice". I can see his point, but the problem is he never uses defines in his own coding samples when he writes code like double sum = 0;
The book is divided into 3 sections. The first section deals with constants and errors. There was no math and I am an experienced programmer and did not find much use for this.
The second section of the book is about square roots, sin, arctan, and logs. The algorithms seemed ok, and as expected, are probably faster and less precise than the standard library functions of a compiler. I've seen them before and they were not useful to me because many of them required an initial guess to be input. I work with graphics and such a broad range of numbers that I don't have an initial guess and therefore can't use the methods.
The third section deals with numerical calculus and was the major reason I bought the book. I thought the refresher and review of basic calculus was good. It was a bit stale in my mind, so it was nice to read about it again. However, I want to be able to apply the code in the book to real world programming. The key link and understanding of the code as it relates to the equations just wasn't there. Also, I was hoping there would be more code. There are whole chapters that don't have a single line of code written in it.
Remember that numerical analysis class you took, in which you came away really understanding nothing besides how to plug-and-chug? Those "black box" numerical integration routines with "magic" coefficients that came from who knows where? Did you ever get the relationship between z transforms and "backward differences?"
This book explains all this and more in a clear, readable, and dare I say, even entertaining presentation (I read it in one sitting cover-to-cover, which is typically impossible for a technical book.)
Over the years, I've purchased quite a few technical reference books. Most seem to be weighty self-congratulatory monuments to the authors' personal ability to present fantastically-terse-yet-look-how-rigorous mathematical proofs. Maybe 1 in 100 is actually written in a down-to-earth, accessible way without pages of dense jargon and overly complicated formulations.
"Math Toolkit for Real-time Programming" is simply the most well-written numerical programming book I've ever come across, and perhaps one of the best technical books on any subject, period. I wish all books were this readable.
Do yourself a favor and get this book ASAP.
2008 Update: As I go back and read this review 6 years later, it sounds a bit over the top, but I _still_ really like this book. It's rare to find a technical book that can communicate the "common sense" behind mathematical concepts and algorithms without requiring the reader to have a Math PhD. Does the book address every possible topic in numerical computing? No, it is not a comprehensive reference, but the topics it DOES cover are very well explained indeed. I DEFY you to find a better explanation anywhere of the basic techniques used in numerical integration. I just wish Dr. Crenshaw would write more books and explain other stuff I use but never really "got" in EE class.
A few of the reviewers complained about the relative uselessness of the included programming material -- I would say their comments are largely on target (although the author clearly states that the purpose of the material is to illustrate the frequency of "gotchas" in even the most simplistic of programs); however, the true value in this book is not the programming examples, it's the insight given into the techniques. Dr. Crenshaw has a passion for communicating the intuition behind the methods (I also encourage you to check out his columns in Embedded Systems Programming.) Finding someone who can pull that off successfully is rare. The numerical techniques he discusses (doing raw math without the benefit of library routines) are broken down to their basics and completely described in a manner I have seen in no other book. The reason I wrote this review is because I _understood_ a lot more after reading this book than any others covering similar material (Acton; Ralston & Rabinowitz; standard BSEE/CompSci textbooks etc).