I've gone through a control theory course, and after looking back at what we covered and how the subject was taught to us, I still have quite a few questions (which I unfortunately did not ask in class). As such, I thought I'd ask a few of them here, as separate posts, in order to clear up a few points that I don't understand.

Why do we linearize our dynamic equations/transfer functions when doing classical and state-space control? Is this only to allow us to be able to analyse stability and do initial specification design (rise time, overshoot etc.), where we know that the real nonlinear system won't actually act exactly in the above manner? I would have thought that since we'll generally be dealing with nonlinear systems in the real-world, it would be better to test our control implementation on a model that more closely resembles our real system.


2 Answers 2


In addition to @arash’s answer:

  1. Designing directly with a nonlinear system is cumbersome, not only computationally expensive.
  2. By linearization one can cover the whole nonlinear space, by generating as many linearization points as required.
    1. Basically, a design is optimized and proposed for those linear models, and then it is validated against the more realistic non-linear model.

This process gives sufficient confidence for the whole design space, while allowing engineers to break up the problem to several linear systems, and corresponding automation.


Majority of systems are nonlinear. However, many of them can be linearized.

But why do we linearize them? Nonlinear systems are too complicated to analyze. Sometimes impossible. Calculating them also requires a huge computation power.

What is the solution? We linearize the system. We approximate. But a complicated problem is replaced with a much simpler one.

Stability is a part of the problem.

The linearization helps performing many of calculations offline.

  • In optimal control, Linear Quadratic Regulator [1] is solved offline thanks to the linearization.

  • In my own field, Model Predictive Control (MPC) [2] predicts the future system dynamics to optimize the control input. If you set e.g. prediction horizon $N_p=100$ and control horizon $N_c=3$, it means that your system should calculate 100 samples ahead during its optimization. But, as the system is linear, a part of calculations is performed offline.

You can achieve 1% higher performance by calculation of nonlinear system. But as far as a system works properly and it is reliable, the industry is not interested in the headache of complexities.

Complicated system is also hard no identify and unreliable.

In practice, there are a lot of noises and disturbances which are much higher than your improvement so it does not often worth caring unless really required.

If you are interested in advance linearization, have a look at Gain-Scheduled MPC and also Adaptive MPC Design.

  • 2
    $\begingroup$ Any nonlinear system can be linearized. However how well that would approximate the true dynamics of system would depend on the exact nonlinearity of the system but also the operation range. $\endgroup$
    – fibonatic
    Jan 6, 2018 at 1:49
  • $\begingroup$ @fibonatic, totally agree $\endgroup$
    – Arash
    Jan 6, 2018 at 9:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.