Frank, S. A. 2018. Control Theory Tutorial: Basic Concepts Illustrated by Software Examples. Springer, Cham, Switzerland.


This book introduces the basic principles of control theory in a concise self-study tutorial. The chapters build the foundation of control systems design based on feedback, robustness, tradeoffs and optimization. The approach focuses on how to think clearly about control and why the key principles are important. Each principle is illustrated with examples and graphics developed by software coded in Wolfram Mathematica. All of the software is freely available for download. The software provides the starting point for further exploration of the concepts and for development of new theoretical studies and applications.


I study how natural biological processes shape the design of organisms. Like many biologists, I have often turned to the rich theory of engineering feedback control to gain insight into biology.

The task of learning control theory for a biologist or for an outsider from another scientific field is not easy. I read and reread the classic introductory texts of control theory. I learned the basic principles and gained the ability to analyze simple models of control. The core of the engineering theory shares many features with my own closest interests in design tradeoffs in biology. How much cost is it worth paying to enhance performance? What is the most efficient investment in improved design given the inherent limitation on time, energy, and other resources?

Yet, for all of the conceptual similarities to my own research and for all of my hours of study with the classic introductory texts, I knew that I had not mastered the broad principles of engineering control theory design. How should I think simply and clearly about a basic control theory principle such as integral control in terms of how a biological system actually builds an error-correcting feedback loop? What is the relation between various adaptive engineering control systems and the ways in which organisms build hard-wired versus flexible control responses? How do the classic cost-benefit analyses of engineering quadratic control models relate to the commonly used notions of costs and benefits in models of organismal design?

After several years of minor raiding around the periphery of engineering control theory, I decided it was time to settle down and make a carefully planned attack. I lined up the classic texts, from the basic introductions to the more advanced treatises on nonlinear control, adaptive control, model predictive control, modern robust analysis, and the various metrics used to analyze uncertainty. I could already solve a wide range of problems, but I had never fully internalized the basic principles that unified the subject in a simple and natural way.

This book is the tutorial that I developed for myself. This tutorial can guide you toward broad understanding of the principles of control in a way that cannot be obtained from the standard introductory books. Those classic texts are brilliant compilations of knowledge with excellent drills to improve technical skill. But those texts cannot teach you to understand the principles of control, how to internalize the concepts and make them your own. You must ultimately learn to think simply and clearly about problems of control and how such problems relate to the broad corpus of existing knowledge.

At every stage of learning, this tutorial provides the next natural step to move ahead. I present each step in the quickest and most illustrative manner. If that quick step works for you, then you can move along. If not, then you should turn to the broad resources provided by the classic texts. In this way, you can build your understanding rapidly, with emphasis on how the pieces fit together to make a rich and beautiful conceptual whole. Throughout your study, you can take advantage of other sources to fill in technical gaps, practical exercises, and basic principles of applied mathematics.

You will have to build your own course of study, which can be challenging. But with this tutorial guide, you can do it with the confidence that you are working toward the broad conceptual understanding that can be applied to a wide range of real world problems. Although the size of this tutorial guide is small, it will lead you toward the key concepts in standard first courses plus many of the principles in the next tier of advanced topics. For scientists outside of engineering, I cannot think of another source that can guide your study in such a simple and direct way. For engineering students, this tutorial supplements the usual courses and books to unify the conceptual understanding of the individual tools and skills that you learn in your routine studies.

This tutorial is built around an extensive core of software tools and examples. I designed that software to illustrate fundamental concepts, to teach you how to do analyses of your own problems, and to provide tools that can be used to develop your own research projects. I provide all of the software code used to analyze the examples in the text and to generate the figures that illustrate the concepts.

The software is written in Wolfram Mathematica. I used Mathematica rather than the standard Matlab tools commonly used in engineering courses. Those two systems are similar for analyzing numerical problems. However, Mathematica provides much richer tools for symbolic analysis and for graphic presentation of complex results from numerical analysis. The symbolic tools are particularly valuable, because the Mathematica code provides clear documentation of assumptions and mathematical analysis along with the series of steps used in derivations. The symbolic analysis also allows easy coupling of mathematical derivations to numerical examples and graphical illustrations. All of the software code used in this tutorial is freely available at