This is the table of contents, arranged by topic.

If you are looking for the use of a particular function, try the Function index.

There is also a set of YouTube videos linked to the course.

1. Dynamics

1.1 Modelling

1.6 Multivariable system representation

2.2 Laplace domain analysis of control systems

2.4 Frequency domain analysis of control systems

2.5 Advanced control methods

2.8 Control Practice


The tbcontrol module contains functions helpful to students learning to solve control problems. It is broken up into submodules.


  • linearise attempt to linearise a symbolic expression
  • routh construct a Routh-Hurwitz array
  • pade pade approximation
  • ss2tf determine the transfer function version of a state space realisation
  • sampledvalues invert the Z transform symbolically
  • evaluate_at_times evaluate a sympy expression at numeric times (useful for plotting responses)


  • skogestad_half find an approximation of a high order system by Skogestad's half rule


  • cross_axis create an axis in Matplotlib which has spines going through the origin like a Nyquist diagram would


  • feedback calculate the result of having two blocks in a feedback loop


Step responses of certain systems

  • fopdt first order plus dead time
  • sopdt second order plus dead time
In [ ]: