Recommended books for learning MATLAB

October 22nd, 2010 | Categories: Books, matlab, programming | Tags:

Because I spend so much time talking about and helping people with MATLAB, I often get asked to recommend a good MATLAB book. I actually find this a rather difficult question to answer because, contrary to what people seem to expect, I have a relatively small library of MATLAB books.

However, one could argue the fact that I only have a small library of books suggests that I hit upon the good ones straight away. So, for those in the market for an introductory MATLAB book, here are my recommendations

MATLAB Guide by Desmond and Nicholas Higham

If you only ever buy one MATLAB book then this should be it. It starts off with a relatively fast paced mini-tutorial that could be considered a sight-seeing tour of MATLAB and its functionality. Once this is done, the authors get down to the business of teaching you the fundamentals of MATLAB in a systematic,thorough and enjoyable manner.

Unlike some books I have seen, this one doesn’t just show you MATLAB syntax; instead it shows you how to be a good MATLAB programmer from the beginning. Your programs will be efficient, robust and well documented because you will know how to leverage MATLAB’s particular strengths.

One aspect of the Higham’s book that I particularly like is that they include many mathematical examples that are intrinsically interesting in their own right.  This was where I first learned of Maurer roses, Viswanath’s constant and eigenvalue roulette for example.  Systems such as MATLAB are ideal for demonstrating cool little mathematical ideas and so it’s great to see so many of them sprinkled throughout an introductory textbook such as this one.

The only downside to the current edition is that the chapter on the symbolic toolbox is out of date since it refers to the old Maple based one rather than the current Mupad based system (See my post here for more details on this transition).  This is only a minor gripe, however, and I only really mention it at all in an attempt to give a review that looks more balanced.

Full disclosure:  One of the authors, Nicholas Higham, works at the same university as me.  However, we are in different departments and I paid for my own copy of his book in full.

MATLAB: A Practical Introduction to Programming and Problem Solving by Stormy Attaway

I haven’t had this book as long as I’ve had the Higham book and I haven’t even completely finished it yet.  I am, however, very impressed with it (as an aside, it’s also the first technical book I ever bought using the iPad and Android Kindle apps).

One of the key things that I like most about this one is that the text is liberally sprinkled with ‘Quick Questions’ that give you a little scenario and ask you how you’d deal with it in MATLAB.  This is quickly followed by a model answer that explains the concepts.  These help break up the text, make you stop and think and ultimately lead to you thinking in a more MATLABy way.  There is also a good amount of exercises at the end of each chapter (no model solutions provided though).

The book is split into two main parts with the first half concentrating on MATLAB fundamentals such as matrices, vectorization, strings, functions etc while the second half covers mathematical applications such as statistics, curve fitting and numerical integration.  So, it’ll take you from being a complete novice to someone who knows their way around a reasonable portion of the system.

Since I first bought this book using the Kindle app on my iPad I thought I’d quickly mention how that worked out for me.  In short, I hated the Kindle presentation so much that I went out and bought the physical version of the book as well.  The paper version is beautifully formatted and presented whereas the Kindle version is just awful.  It’s hard to navigate, looks awful and basically makes one wish that they had just given you a pdf file instead!

  1. MySchizoBuddy
    October 22nd, 2010 at 12:07
    Reply | Quote | #1

    Can you recommend books for Simulink

  2. October 22nd, 2010 at 12:14
    Reply | Quote | #2

    I’ve not read any yet so I’m afraid not.

  3. Joplin
    October 22nd, 2010 at 14:45
    Reply | Quote | #3

    Any similar suggestions for mathematica?

  4. October 22nd, 2010 at 15:38
    Reply | Quote | #4

    Hi Joplin

    I’ll write about that in detail another time but for now I’d suggest Mathematica Navigator
    by Heikki Ruskeepaa for beginners.

    For more advanced users, Michael Trott’s books are worth their weight in gold (and that’s a LOT of weight). For example, The Mathematica GuideBook for Numerics. However, Trott’s books are currently for version 5 only and as you probably know, Mathematica was practically re-invented with version 6. Since they are so expensive, I’d probably wait for the 2nd editions. Either that or lean on your local librarian ;)

  5. Steve L
    October 22nd, 2010 at 16:21
    Reply | Quote | #5

    FYI, you might be interested in two of Cleve’s books, “Numerical Computing with MATLAB” and “Experiments with MATLAB”. While they’re not really books for learning MATLAB but more books for learning numerical computing _using_ MATLAB, IMO Cleve writes about that topic very well. You can take a look at the two books on the MathWorks website:

    http://www.mathworks.com/moler/

    If you want a hard copy of the first of those books, the webpage has a link to the SIAM store where you can order one.

    Full disclosure: the domain in my email address is mathworks.com :)

  6. October 22nd, 2010 at 16:31
    Reply | Quote | #6

    Thanks Steve.
    Cleve’s books have been on my to-read list for a while. I love the fact that he’s made the texts freely available.

    Cheers,
    Mike

  7. swag dragon
    October 1st, 2016 at 10:28
    Reply | Quote | #7

    This book sponsored by mathworks is pretty good.
    http://uk.mathworks.com/support/books/book120489.html