assuming a nonlinear dynamical system like

$$ \begin{split} \dot{\mathbb{x}} &= \mathbb{f}(\mathbb{x}, \mathbb{u}) \\ \mathbb{y} &= \mathbb{h}(\mathbb{x}, \mathbb{u}) \end{split} $$

with $\mathbb{x} \in \mathbf{R}^n$ and $\mathbb{u} \in \mathbf{R}^m$. Say now, $\mathbb{h}$ is linear in $(\mathbb{x}, \mathbb{u})$ and $\mathbb{f}$ is also linear in $(\mathbb{x}, \mathbb{u})$ except for one equation of $\mathbb{f}$. Example:

$$ \begin{split} \dot{x}_1 &= x_2 \\ \dot{x}_2 &= \frac{x_1 - u}{x_1} + x_2 \\ y &= x_2\,. \end{split} $$

I now want to linearize systems like this. Since $\mathbb{h}$ and most of $\mathbb{f}$ is already linear, I just have to linearize the nonlinear equation, here $f_2 = \dot{x}_2$.

Problem: $x_1$ and $u$ change over time, i.e. they never reach a steady state. So I have no real operating point around which I could linearize the system.

What to do in such a case?


1 Answer 1


Linearization is basically just a first order Taylor polynomial of that function. But usually you perform a linearization around an equilibrium point, since you usually diverge rather quickly from non equilibrium points, so the linearization would become a bad approximation rather quickly as well. So you want,

$$ f(x^*,u^*) = 0, $$

$$ A = \left.\frac{\partial f(x,u)}{\partial x}\right|_{\begin{matrix}x=x^*\\u=u^*\end{matrix}}, $$

$$ B = \left.\frac{\partial f(x,u)}{\partial u}\right|_{\begin{matrix}x=x^*\\u=u^*\end{matrix}}, $$

$$ C = \left.\frac{\partial h(x,u)}{\partial x}\right|_{\begin{matrix}x=x^*\\u=u^*\end{matrix}}, $$

$$ D = \left.\frac{\partial h(x,u)}{\partial u}\right|_{\begin{matrix}x=x^*\\u=u^*\end{matrix}}, $$

$$ \left\{\begin{align} \dot{x} & \approx A\, (x - x^*) + B\, (u - u^*) \\ y & \approx h(x^*,u^*) + C\, (x - x^*) + D\, (u - u^*) \end{align}\right. $$

when $x$ and $u$ are close to $x^*$ and $u^*$ respectively.

  • $\begingroup$ Yes, but what if there is no real operating point $(x^*, u^*)$ because both are changing all the time? $\endgroup$
    – SampleTime
    Commented May 3, 2017 at 11:26
  • $\begingroup$ @SampleTime Then linearization might be a bad approximation. $\endgroup$ Commented May 3, 2017 at 11:28
  • $\begingroup$ Ok, but what can I do then? Are there any other options left (except for pure nonlinear design)? $\endgroup$
    – SampleTime
    Commented May 3, 2017 at 11:59
  • 1
    $\begingroup$ @SampleTime You could make a substitution such that the system is linear, such as $v=\frac{x_1-u}{x_1}$ design a controller for $v$ and find which $u$ this would require. But this does require you to know $x_1$ which is not part of your output, so you would also have to design an observer as well. $\endgroup$ Commented May 3, 2017 at 12:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .