7.3: Linearization
- Page ID
- 24271
\( \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}}\)
\( \newcommand{\vectorA}[1]{\vec{#1}} % arrow\)
\( \newcommand{\vectorAt}[1]{\vec{\text{#1}}} % arrow\)
\( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vectorC}[1]{\textbf{#1}} \)
\( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)
\( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)
\( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)Much of our attention in this course will be focused on linear models. Linear models frequently arise as descriptions of small perturbations away from a nominal solution of the system. Consider, for example, the continuous-time (CT) state-space model
\[\begin{aligned}
\dot{x}(t) &=f(x(t), u(t), t) \\
y(t) &=g(x(t), u(t), t)
\end{aligned} \ \tag{7.16}\]
where \(x(t)\) is the \(n\)-dimensional state-vector at time \(t\), \(u(t)\) is the \(m\)-dimensional vector of inputs, and \(y(t)\) is the \(p\)-dimensional vector of outputs. Suppose \(x_{o}(t)\), \(u_{o}(t)\) and \(y_{o}(t)\) constitute a nominal solution of the system, i.e. a collection of CT signals that jointly satisfy the equations in (7.16). Now let the control and initial condition be perturbed from their nominal values to \(u(t) = u_{o}(t) + \delta u(t)\) and \(x(0) = x_{o}(0) + \delta x(0)\) respectively, and let the state trajectory accordingly be perturbed to \(x(t) = x_{o}(t) + \delta x(t)\). Substituting these new values into (7.16) and performing a (multivariable) Taylor series expansion to first-order terms, we find
\[\begin{array}{l}
\delta x(t) \approx\left[\frac{\partial f}{\partial x}\right]_{o} \delta x(t)+\left[\frac{\partial f}{\partial u}\right]_{o} \delta u(t) \\
\delta y(t) \approx\left[\frac{\partial g}{\partial x}\right]_{o} \delta x(t)+\left[\frac{\partial g}{\partial u}\right]_{o} \delta u(t)
\end{array} \ \tag{7.17}\]
where the \(n \times n\) matrix \([{\partial f}/{\partial x}]_{o}\) denotes the Jacobian of \(f(., ., .)\) with respect to \(x\), i.e. a matrix whose \(ij\)-th entry is the partial derivative of the \(i\)th component of \(f(., ., .)\) with respect to the \(j\)th component of \(x\), and where the other Jacobian matrices in (7.17) are similarly defined. The subscript \(_{o}\) indicates that the Jacobians are evaluated along the nominal trajectory, i.e. at \(x(t) = x_{o}(t)\) and \(u(t) = u_{o}(t)\). The linearized model (7.17) is evidently linear, of the form
\[\begin{aligned}
\delta x(t) &=A(t) \delta x(t)+B(t) \delta u(t) \\
\delta y(t) &=C(t) \delta x(t)+D(t) \delta u(t)
\end{aligned} \ \tag{7.18}\]
When the original nonlinear model is time-invariant, the linearized model will also be time-invariant if the nominal solution is constant (i.e. if the nominal solution corresponds to a constant equilibrium); however, the linearized model may be time varying if the nominal solution is time varying (even if the original nonlinear model is time-invariant), and will be periodic - i.e., have periodically varying coefficients - if the nominal solution is periodic (as happens when the nominal solution corresponds to operation in some cyclic or periodic steady state).
The same development can be carried out for discrete-time (DT) systems, but we focus in this lecture on the CT case.
Example 7.5 (Linearizing a Nonlinear Circuit Model)
Consider linearizing the state-space model we obtained for the nonlinear circuit in Example 7.3. We ended up there with a nonlinear model of the form
\[\left[\begin{array}{c}
\dot{x}_{1} \\
\dot{x}_{2} \\
\dot{x}_{3}
\end{array}\right]=\left[\begin{array}{c}
\frac{1}{C_{1}}\left(\frac{x_{2}-x_{1}}{R}-\mathcal{N}\left(x_{1}\right)\right) \\
\frac{1}{C_{2}}\left(x_{3}-\frac{x_{2}-x_{1}}{R}\right) \\
-\frac{1}{L} x_{2}
\end{array}\right]+\left[\begin{array}{c}
0 \\
0 \\
\frac{1}{L} v
\end{array}\right] \ \tag{7.19}\]
For the linearization, all that happens is each \(x_{j}\) is replaced by \(\delta x_{j}\), and \(\mathcal{N} (x_{1})\) is replaced by \(\left[d \mathcal{N}\left(x_{1}\right) / d x_{1}\right]_{o} \delta x_{1}\), resulting in a linear state-space model of the form
\[\delta \dot{x}(t)=A \delta x(t)+B \delta v(t)\ \tag{7.20}\]
with
\[A=\left(\begin{array}{cccc}
-\frac{1}{R C_{1}}-\frac{1}{C_{1}}\left[\frac{d N}{d x_{1}}\right]_{o} & \frac{1}{R C_{1}} & 0 \\
\frac{1}{R C_{2}} & -\frac{1}{R C_{2}} & \frac{1}{C_{2}} \\
0 & \frac{1}{L} & 0
\end{array}\right), B=\left(\begin{array}{c}
0 \\
0 \\
\frac{1}{L}
\end{array}\right)\ \tag{7.21}\]
Example 7.6 (Linearizing the Inverted Pendulum)
Recall from Example 6.3 the equations that describe the dynamics of the inverted pendulum. Those equations are nonlinear due to the presence of the terms \( \sin(\theta)\), \( \cos(\theta)\), and \((\dot{\theta})^{2}\). We can linearize these equations around \(\theta = 0\) and \(\dot{theta}= 0\), by assuming that \(\theta (t)\) and \(\dot{\theta}(t)\) remain small. Recall that for small \(\theta\)
\[\begin{array}{ll}
\sin (\theta) & \approx \theta-\frac{1}{6} \theta^{3} \\
\cos (\theta) & \approx 1-\frac{1}{2} \theta^{2}
\end{array}\nonumber\]
and using the linear parts of these relations the linearized system of equations takes the form
\[\begin{aligned}
\left(1-\frac{m l}{M L}\right) \ddot{s}+\frac{m l}{M} \frac{g}{L} \theta &=\frac{1}{M} u \\
\left(1-\frac{m l}{M L}\right) \ddot{\theta}-\frac{g}{L} \theta &=-\frac{1}{M L} u
\end{aligned}\nonumber\]
Using as state vector
\[x=\left[\begin{array}{c}
s \\
\dot{s} \\
\theta \\
\dot{\theta}
\end{array}\right]\nonumber\]
the following state-space model can be easily obtained:
\[\begin{aligned}
d &\left(\begin{array}{c}
x_{1} \\
x_{2} \\
x_{3} \\
x_{4}
\end{array}\right) =\left(\begin{array}{c}
0 & 1 & 0 & 0 \\
0 & 0 & -\alpha \frac{m l}{M L} g & 0 \\
0 & 0 & 0 & 1 \\
0 & 0 & \alpha \frac{g}{L} & 0
\end{array}\right)\left(\begin{array}{c}
x_{1} \\
x_{2} \\
x_{3} \\
x_{4}
\end{array}\right)+\left(\begin{array}{c}
0 \\
\frac{\alpha}{M} \\
0 \\
-\frac{\alpha}{L M}
\end{array}\right) u \\
y &=\left[\begin{array}{cccc}
1 & 0 & 0 & 0
\end{array}\right) x
\end{aligned}\nonumber\]
where the constant \(\alpha) is given by
\[\alpha=\frac{1}{\left(1-\frac{m l}{M L}\right)}\nonumber\]