As some of my readers know, I am in Denver at SuperComputing ’13. It has been a crazy week, but traveling also affords me some time to sit back and read. On the flight over I finished reading Getting Started with Simulink by Luca Zamboni. Overall this is a very good introductory book into Simulink, but it does require some mathematical background to truly understand what the author is doing.
Like LabVIEW, Simulink is a graphical dataflow environment and requires very little text code. For many, this approach to programming can be quite easy and improve productivity; however you need to understand how datalfow works. The author begins with a simple cruise control model that leverages a PI controller (more on that later). Like many systems that interact with the physical world, it maps well to dataflow. The author does an excellent job of stepping you through construction and testing of the model. He even mentions some good shortcuts (like how to reset the zoom, a shortcut that I learned while reading this book).
Like any good tutorial, the Getting Started with Simulink builds on previous examples. Once you complete the first example, you build a model for a car. This exposes the user to simulation, one of the key advantages of Simulink. The book builds quickly and at first it seems like Zamboni is throwing everything but the kitchen sink at you. He really does challenge you, but Zamboni is there to step you through each step of building the model. From creating subsystems for for motors to simulating drag. The model is a very complete representation of a sports car and by the end you feel very accomplished. Best of all, you have actually mastered most of the skills required for Simulink. I would say this book covered 90% or more of the blocks that I commonly use. Another key aspect of the book is that it uses an up-to-date version of MATLAB and Simulink (2013a). While the basic concepts don’t change with time, features are sometimes tweaked or new file types supported. Zamboni does a great job of pointing out many of these minor differences. He really is an expert in the software.
Now about math and that PI controller. Well to be honest, the PI controller was just the first math-heavy aspect of the book. The model for the car does get kind of math heavy, but that is very much the nature if many models. While you don’t actually need to understand the math to follow along and complete the models, but it certainly helps. If you’re an engineer or engineering student, then chances are you know physics and calculus. For my non-engineering readers, don’t feel like this is a deal breaker. The author does explain what is going on, but probably not in the detail that you would like.
One other thing to keep in mind is that this book requires no hardware (no MINDSTORMS, no camera, no motors, nothing). So if you plan on interacting beyond simulation (given simulation is one of the big features of Simulink), you will have a bit more learning to do on your own. Personally, I think you should start in simulation, and once you master that, move to hardware.
Overall I would recommend this book to any reader. I know there are quite a few people out there that are just getting started with MATLAB and Simulink for LEGO MINDSTORMS. This is a great first step in mastering the environment. The book is available on amazon or directly from the publisher. The book also is available in ebook form for your tablet or Kindle.