Skip to main content
Engineering LibreTexts

1.7: Linearization of Nonlinear Models

  • Page ID
    24391
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    Linearization of Nonlinear Functions 

    The behavior of a nonlinear system, described by \(y=f(x)\), in the vicinity of a given operating point, \(x=x_0\), can be approximated by plotting a tangent line to the graph of \(f\left(x\right)\) at that point.

    Analytically, linearization of a nonlinear function involves first-order Taylor series expansion about the operative point.

    Let \(\delta x=x-x_0\) represent the variation from the operating point; then the Taylor series of a function of single variable is written as:

    \[f\left(x_0+\delta x\right)=f\left(x_0\right)+\frac{\partial f\left(x_0\right)}{\partial x}\delta x+\dots \nonumber \]

    The resulting first order model is described by:

    \[f\left(x\right)-f\left(x_0\right)=\frac{\partial f\left(x_0\right)}{\partial x}(x-x_0) \nonumber \]

    Example \(\PageIndex{1}\)

    Consider a vehicle driven in cruise control are represented by the block diagram (Figure 1.7.1). The forces acting on the car include its weight, driving force generated by engine torque applied to the wheels, aerodynamic drag, and tire to surface rolling friction.

    The vehicle weighs \(1440kg\) and is driven at \(20m/s\) (about 45 mph). The vehicle experiences aerodynamic drag: \(F_d=\frac{1}{2}\rho v^2Ac_d\). Assuming \(\rho =1.2\ kg/m^3\) (for air), \(A=4m^2\), and \(c_d=.25\), results in a nonlinear drag force: \(F_d=0.6v^2N\).

    A first-order Taylor series expansion of the drag force about the cruising speed (\(20\ m/s\)) is given as:

    \[F_d(v)=F_d \left(20\right) + {\left. F^\prime_d\right|}_{v=20} (v-20). \nonumber \]

    Let \(\delta F_d=F_d-F_d\left(20\right),\ \ \delta v=v-20,\) denote the variations in the force and speed; then, the linearized model for the drag force is given as:

    \[\delta F_d=24\delta v. \nonumber \]

    Further, the tires generate a friction force: \(F_r=0.015W\), where \(W\) is the weight of the car. For \(m=1440kg\) and \(g=9.8m/s^2\), the tire friction is: \(F_r=212N\).

    Let \(T_e=rF_e\) denote the engine torque, where \(F_e\) is the force output and \(r=0.33m\) is the wheel radius; then, the dynamic equation of the vehicle is given as:

    \[T_e/r-F_r-F_d=m\frac{dv}{dt} \nonumber \]

    Substituting the above parameter values results in:

    \[m\frac{dv}{dt}+0.6v^2=3T_e-212. \nonumber \]

    Let \(\delta T_e\) denote the variation in the engine torque; then, a linearized model of the vehicle cruising at \(20m/s\) is given as:

    \[1440\frac{d\delta v}{dt}+24\delta v=3\delta T_e \nonumber \]

    clipboard_eb3a76795730d753d36dfbc2716a9a949.png
    Figure \(\PageIndex{1}\): Block diagram of vehicle cruise control system.

    Linearization of State Variable Models 

    Assume that nonlinear state variable model of a single-input single-output (SISO) system is described by the following equations:

    \[\dot{x}(t)=f(x,u) \nonumber \]

    \[y(t)=g(x,u) \nonumber \]

    where \(x\) is a vector of state variables, \(u\) is a scalar input, \(y\) is a scalar output, \(f\) is a vector function of the state and input variables, and \(g\) is a scalar function of those variables.

    A stationary point for the model is defined by: \(f(x_{ e} ,u_ e )=0\). The deviations from the stationary point are expressed as: \(x(t)=x_{ e} (t)+\delta x(t);\, \, \, u(t)=u_ e (t)+\delta u(t)\).

    In terms of the variations: \(\delta x,\delta u\), the linearized model of the system is expressed as:

    \[\dot{\delta }x(t)=\left[\partial f_{i} /\partial x_{j} \right]|_{(x_{ e} ,u_{ e} )} \delta x(t)+\left[\partial f_{i} /\partial u\right]|_{(x_{ e} ,u_{ e} )} u(t) \nonumber \]

    \[y(t)=\left[\partial g/\partial x_{j} \right]|_{(x_{e} ,u_{e} )} \delta x(t)+\left[\partial g/\partial u\right]|_{(x_{e} ,u_{e} )} \delta u(t), \nonumber \]

    where \([\partial f_{i} /\partial x_{j} ]\) is a Jacobian matrix of partial derivatives; \([\partial f_{i} /\partial u],[\partial g/\partial x_{j} ]\) are vectors of partial derivatives, and \([\partial g/\partial u]\) is a scalar partial derivative; all derivatives are computed at the stationary point.

    The linearized model is expressed in its familiar vector-matrix form as:

    \[\dot{\delta }x(t)=A\delta x(t)+bu(t) \nonumber \]

    \[y(t)=c^{ T} \delta x(t)+d\delta u(t). \nonumber \]

    In the above, \(A\) represents an \(n\times n\) system matrix, \(b\) is a \(n\times 1\) column vector of input distributions, \(c^{ T}\) is a \(1\times n\) row vector of output contributions, and d is a scalar gain.

    Example \(\PageIndex{2}\)

    The model of a simple pendulum is described by the dynamic equation:

    \[ml^{2} \ddot{\theta }(t)+mgl\; \sin \theta (t)=T(t), \nonumber \]

    where \(\theta (t)\) is the pendulum angle, \(T(t)\) is the applied torque; \(m,l\) represent the mass and the length of the pendulum, and \(g\) is the gravitational constant.

    By using \((\theta ,\; \omega )\) as the state variables for the pendulum, the nonlinear model is expressed as:

    \[\frac{d}{dt} \left(\begin{array}{c} {\theta } \\ {\omega } \end{array}\right)=\left(\begin{array}{c} {\omega } \\ {-\frac{g}{l} \sin \theta } \end{array}\right)+\left(\begin{array}{c} {0} \\ {T(t)} \end{array}\right). \nonumber \]

    The Jacobian matrix for the simple pendulum is expressed as:

    \[\left[\frac{\partial f}{\partial x}\right]=\left(\begin{array}{cc} {0} & {1} \\ {-\frac{g}{l} \cos \theta \; } & {0} \end{array}\right). \nonumber \]

    Two equilibrium points in the case of a simple pendulum can be identified: \(\theta _{ e} =0^{\circ } ,\; 180^{\circ }\). The linearized models defined at the equilibrium points are given as:

    \[{\theta }_e=0{}^\circ : \frac d{ dt} \left[\begin{array}{c} {\theta } \\ {\omega } \end{array}\right]=\left[\begin{array}{cc} {0} & {1} \\ {-\frac{g}{l} } & {0} \end{array}\right]\left[\begin{array}{c} {\theta } \\ {\omega } \end{array}\right]+\left[\begin{array}{c} {0} \\ {1} \end{array}\right]T \nonumber \]

    \[{\theta }_e=180{}^\circ : \frac d{ dt} \left[\begin{array}{c} {\theta } \\ {\omega } \end{array}\right]=\left[\begin{array}{cc} {0} & {1} \\ {\frac{g}{l} } & {0} \end{array}\right]\left[\begin{array}{c} {\theta } \\ {\omega } \end{array}\right]+\left[\begin{array}{c} {0} \\ {1} \end{array}\right]T \nonumber \]

    The output equation in both cases is given as: \(\theta \left(t\right)=\left[ \begin{array}{cc} 1 & 0 \end{array} \right]\left[ \begin{array}{c} \theta \\ \omega \end{array} \right]\).


    This page titled 1.7: Linearization of Nonlinear Models is shared under a CC BY-NC-SA 4.0 license and was authored, remixed, and/or curated by Kamran Iqbal.

    • Was this article helpful?