Linearisation Proof

What is Taylor Series?

The Taylor series is a way to approximate a function around a point.

For a function f(x)f(x), the Taylor series around the point aa is:

f(x)=f(a)+f(a)(xa)+f(a)2!(xa)2+f(3)(a)3!(xa)3+f(x) = f(a) + f'(a)(x-a) + \frac{f''(a)}{2!}(x-a)^2 + \frac{f^{(3)}(a)}{3!}(x-a)^3 + \dots

The approximation is valid around values x=ax=a.

HLT Form

An equivalent form in HLT, where x=a+hx = a + h, the point we linearise around plus a pertubation:

f(a+h)=f(a)+hf(a)+h22!f(a)+h33!f(3)(a)+f(a + h) = f(a) + h f'(a) + \frac{h^2}{2!} f''(a) + \frac{h^3}{3!} f^{(3)}(a) + \cdots

This is a simple substitution and arguably makes the formula more intuitive. hh is the perturbation around the point aa.

Extension to Multivariable Functions

If f(x,u)f(x, u) is a function of multiple variables, then:

f(x,u)f(a,b)+fx(a,b)(xa)+fu(a,b)(ub)+f(x, u) \approx f(a, b) + \frac{\partial f}{\partial x}(a, b)(x - a) + \frac{\partial f}{\partial u}(a, b)(u - b) + \dots

So you're still using values and derivatives at the point (a,b)(a, b), but now considering partial derivatives.

In HLT form, where x=a+hxx = a + h_{x} and u=a+huu = a + h_{u}:

f(a+hx,b+hu)f(a,b)+fx(a,b)hx+fu(a,b)hu+f(a+h_{x},b+h_{u})\approx f(a,b)+\frac{\partial f}{\partial x}(a,b)h_{x}+\frac{\partial f}{\partial u}(a,b)h_{u}+\dots

Proof

Starting Point: Nonlinear System

x˙(t)=f(x(t),u(t)),y(t)=h(x(t),u(t))\dot{x}(t)=f(x(t),u(t)),\quad y(t)=h(x(t),u(t))

Step 1: Nominal Trajectory and Perturbations

We want to linearise the system around the nominal trajectory or point (x(t),u(t))(x^\star(t), u^\star(t)).

Perturbations around the nominal:

x(t)=x(t)+xp(t),u(t)=u(t)+up(t)x(t) = x^\star(t) + x_p(t), \quad u(t) = u^\star(t) + u_p(t)

where xp(t),up(t)x_p(t), u_p(t) are small perturbations.

Step 2: Taylor Expansion of ff

Taylor expansion allows us to model the system around our nominal point(x(t),u(t))(x^\star(t), u^\star(t))

x˙(t)amp;=f(x(t),u(t))amp;=f(x(t),u(t))amp;+fx(x(t),u(t))xp(t)+fu(x(t),u(t))up(t)+higher order terms\begin{aligned}\dot{x}(t) & =f(x(t),u(t))\\ & =f(x^{\star}(t),u^{\star}(t))\\ & \quad+\frac{\partial f}{\partial x}(x^{\star}(t),u^{\star}(t))x_{p}(t)+\frac{\partial f}{\partial u}(x^{\star}(t),u^{\star}(t))u_{p}(t)+\text{higher order terms}\end{aligned}

Think of xp(t)x_{p}\left(t\right) as hh in the HLT form, but for multivaritate.

Step 3: Use Nominal Dynamics

By definition of nominal trajectory:

x˙(t)=f(x(t),u(t))\dot{x}^{\star}(t)=f(x^{\star}(t),u^{\star}(t))

Substitute this back (replaces first term):

x˙(t)=x˙(t)+fx(x(t),u(t))xp(t)+fu(x(t),u(t))up(t)+higher order terms\dot{x}(t)=\dot{x}^{\star}(t)+\frac{\partial f}{\partial x}(x^{\star}(t),u^{\star}(t))x_{p}(t)+\frac{\partial f}{\partial u}(x^{\star}(t),u^{\star}(t))u_{p}(t)+\text{higher order terms}

Step 4: Express Perturbation Dynamics

Subtract x˙(t)\dot{x}^\star(t) from both sides:

x˙(t)x˙(t)=fx(x(t),u(t))xp(t)+fu(x(t),u(t))up(t)+higher order terms\dot{x}(t) - \dot{x}^\star(t) = \frac{\partial f}{\partial x}(x^{\star}(t),u^{\star}(t))x_{p}(t)+\frac{\partial f}{\partial u}(x^{\star}(t),u^{\star}(t))u_{p}(t)+\text{higher order terms}

Recall:

x˙p(t)=x˙(t)x˙(t)\dot{x}_p(t) = \dot{x}(t) - \dot{x}^\star(t)

Hence (variables hidden and neglect higher order terms):

x˙p(t)=fxxp(t)+fuup(t)\dot{x}_{p}(t)=\frac{\partial f}{\partial x}x_{p}(t)+\frac{\partial f}{\partial u}u_{p}(t)

This is a linear time-varying system describing the perturbation dynamics.

Summary:

x˙p(t)amp;=A(t)xp(t)+B(t)up(t)whereA(t)amp;=fx(x(t),u(t)),B(t)=fu(x(t),u(t))\boxed{\begin{aligned}\dot{x}_{p}(t) & =A(t)x_{p}(t)+B(t)u_{p}(t)\\ \text{where}\quad A(t) & =\frac{\partial f}{\partial x}(x^{\star}(t),u^{\star}(t)),\quad B(t)=\frac{\partial f}{\partial u}(x^{\star}(t),u^{\star}(t))\end{aligned}}

Matrix Form

Both ff and xx are vectors (multiple functions and states), so we write the different state differentials horizontally and the function changes vertically.

A(t)=[f1x1(x(t),u(t))amp;amp;f1xn(x(t),u(t))amp;amp;fnx1(x(t),u(t))amp;amp;fnxn(x(t),u(t))]A(t) = \begin{bmatrix} \frac{\partial f_1}{\partial x_1}(x^\star(t), u^\star(t)) & \cdots & \frac{\partial f_1}{\partial x_n}(x^\star(t), u^\star(t)) \\ \vdots & \ddots & \vdots \\ \frac{\partial f_n}{\partial x_1}(x^\star(t), u^\star(t)) & \cdots & \frac{\partial f_n}{\partial x_n}(x^\star(t), u^\star(t)) \end{bmatrix}

and

B(t)=[f1u1(x(t),u(t))amp;amp;f1um(x(t),u(t))amp;amp;fnu1(x(t),u(t))amp;amp;fnum(x(t),u(t))]B(t) = \begin{bmatrix} \frac{\partial f_1}{\partial u_1}(x^\star(t), u^\star(t)) & \cdots & \frac{\partial f_1}{\partial u_m}(x^\star(t), u^\star(t)) \\ \vdots & \ddots & \vdots \\ \frac{\partial f_n}{\partial u_1}(x^\star(t), u^\star(t)) & \cdots & \frac{\partial f_n}{\partial u_m}(x^\star(t), u^\star(t)) \end{bmatrix}

Certainly! The matrices you provided are the Jacobian matrices of the function ff evaluated at the nominal trajectory (x(t),u(t))(x^\star(t), u^\star(t)).

We commonly define:

A(t):=fx(x(t),u(t))Rn×nA(t) := \frac{\partial f}{\partial x}(x^\star(t), u^\star(t)) \in \mathbb{R}^{n \times n}

and

B(t):=fu(x(t),u(t))Rn×mB(t) := \frac{\partial f}{\partial u}(x^\star(t), u^\star(t)) \in \mathbb{R}^{n \times m}


Explicitly,Summary:

  • A(t)A(t) captures how the system dynamics change with respect to the state xx near the nominal trajectory.

  • B(t)B(t) captures how the system dynamics change with respect to the input uu near the nominal trajectory.

These matrices are crucial in the linearized system:

x˙p(t)=A(t)xp(t)+B(t)up(t)\dot{x}_p(t) = A(t) x_p(t) + B(t) u_p(t)

Let me know if you want me to write the corresponding matrices for the output function hh as well!