1
$\begingroup$

I'm going to do a state space model reduction and I wonder how it will be if I have a $3\times 3$ $A$ matrix?

Let's say that I have this state space model:

$$\begin{bmatrix} \dot{x_1}\\ \dot{x_2}\\ \dot{x_3} \end{bmatrix}= \begin{bmatrix} -2 & 1 & 0\\ -3 & 0 &1 \\ -4 & 0 & 0 \end{bmatrix} \begin{bmatrix} x_1\\ x_2\\ x_3 \end{bmatrix}+\begin{bmatrix} 0\\ 1\\ 2 \end{bmatrix}u \\ y = \begin{bmatrix} 1 & 0 &0 \end{bmatrix}\begin{bmatrix} x_1\\ x_2\\ x_3 \end{bmatrix}+ \begin{bmatrix} 0 \end{bmatrix}u$$

To reduce one state e.g $x_3$ I need to split up the matrices into pieces.

$$\begin{bmatrix} \dot{x}_1\\ \dot{x}_0 \end{bmatrix} = \begin{bmatrix} A_{11} & A_{12} \\ A_{21} & A_{22} \end{bmatrix}\begin{bmatrix} x_1\\ x_0 \end{bmatrix} + \begin{bmatrix} B_1\\ B_2 \end{bmatrix} u \\ y = \begin{bmatrix} C_1& C_2 \end{bmatrix}\begin{bmatrix} x_1\\ x_0 \end{bmatrix} + \begin{bmatrix} D \end{bmatrix}u$$

I assume that $\dot{x}_0 = 0$. Then I can write:

$$x_0 = - A_{22}^{-1}A_{21}x_1 - A_{22}^{-1}B_0u$$

Then I write: $$\dot{x}_1 = (A_{11} - A_{12}A_{22}^{-1}A_{21})x_1 +(B_1 - A_{12}A_{22}^{-1}B_2)u \\ y = (C_1 - C_2A_{22}^{-1}A_{21})x_1 +(D - C_2A_{22}^{-1}B_2)u$$

My question is, if I want to reduce state $x_3 = x_0$. How should I distribute $A$ to $A_{11}, A_{12}, A_{21}, A_{22}$ and $C$ to $C_1, C_2$ and $B$ to $B_1, B_2$ ?

$\endgroup$
  • $\begingroup$ Can you give an example of such a model reduction? I mean what reference/book are you using? $\endgroup$ – MrYouMath Oct 28 '17 at 16:57
  • 1
    $\begingroup$ I'm using System Modeling and Identification by Rolf Johansson, Lund University. You can use modred in Matlab too. $\endgroup$ – Daniel Mårtensson Oct 28 '17 at 18:57
1
$\begingroup$

In order to simplify the state space model when $x_2 = x_3$ you can just substitute in $x_2 = x_3 = z$ which gives

$$ \begin{bmatrix} \dot{x}_1 \\ \dot{z} \\ \dot{z} \end{bmatrix} = \begin{bmatrix} A_{11} & A_{12} & A_{13} \\ A_{21} & A_{22} & A_{23} \\ A_{31} & A_{32} & A_{33} \end{bmatrix} \begin{bmatrix} x_1 \\ z \\ z \end{bmatrix} + \begin{bmatrix} B_1 \\ B_2 \\ B_3 \end{bmatrix} u. \tag{1} $$

Equating both expressions for $\dot{z}$ gives

$$ (A_{21} - A_{31})\,x_1 + (A_{22} + A_{23} - A_{32} - A_{33})\,z + (B_2 - B_3)\,u = 0. \tag{2} $$

Solving this for $z$ gives

$$ z = (A_{22} + A_{23} - A_{32} - A_{33})^{-1} \left((A_{31} - A_{21})\,x_1 + (B_3 - B_2)\,u\right) \tag{3} $$

and therefore the dynamics of $x_1$ can also be written as

$$ \dot{x}_1 = \left(A_{11} + (A_{12} + A_{13})\,(A_{22} + A_{23} - A_{32} - A_{33})^{-1} (A_{31} - A_{21})\right)\,x_1 + \left(B_1 + (A_{12} + A_{13})\,(A_{22} + A_{23} - A_{32} - A_{33})^{-1} (B_3 - B_2)\right)\,u. \tag{4} $$

However equating both expressions for $\dot{z}$ and solving for $z$ does not actually ensure that the two expressions for it are actually equal to the time derivative of $z$. In order to reduce the size of the following expressions I will define the following matrices

$$ A_z = (A_{22} + A_{23} - A_{32} - A_{33})^{-1} (A_{31} - A_{21}) \tag{5} $$

$$ B_z = (A_{22} + A_{23} - A_{32} - A_{33})^{-1} (B_3 - B_2) \tag{6} $$

such that $z = A_z\,x_1 + B_z\,u$. Taking the time derivative of this gives

$$ \dot{z} = A_z\,\dot{x}_1 + B_z\,\dot{u}. \tag{7} $$

Substituting $(4)$ into $(7)$ gives

$$ \dot{z} = A_z\,\left(A_{11} + (A_{12} + A_{13})\,A_z\right)\,x_1 + A_z\,\left(B_1 + (A_{12} + A_{13})\,B_z\right)\,u + B_z\,\dot{u} \tag{8} $$

which should be equal to one of the expressions for $\dot{z}$ from $(1)$. But since both are equivalent I will just use the first, which gives

$$ \dot{z} = \left(A_{21} + (A_{22} + A_{23})\,A_z\right)\,x_1 + \left(B_2 + (A_{22} + A_{23})\,B_z\right)\,u. \tag{9} $$

I am not sure what your end goal would be but by equating the right hand sides of $(8)$ and $(9)$ you could either solve for $x_1$, $u$ or $\dot{u}$. But since the context of the question is model reduction I would assume you would want to solve for $x_1$. Doing so gives

$$ x_1 = \left(A_{21} + M\,A_z - A_z\,A_{11}\right)^{-1} \left(\left(A_z\,B_1 - M\,B_z - B_2\right)\,u + B_z\,\dot{u}\right) \tag{10} $$

with

$$ M = A_{22} + A_{23} - A_z\,(A_{12} + A_{13}). \tag{11} $$

However equation $(10)$ might have multiple solutions if the dimension of $x_1$ is larger than that that of $z$. But if their dimensions are of equal size and the matrix inverse in $(10)$ exists, then plugging all this into the definition of $y$ gives that $y$ is a direct linear function of $u$ and $\dot{u}$, which would make it a non-causal system (so a system with no proper transfer function).

$\endgroup$
  • $\begingroup$ Is there any easier way to do model reduction? $\endgroup$ – Daniel Mårtensson Oct 29 '17 at 10:14
  • $\begingroup$ @DanielMårtensson, yes, check the singular values of $A$ and simply throw away the states which have the smallest singular value. $\endgroup$ – WG- Oct 29 '17 at 18:26
  • $\begingroup$ @DanielMårtensson I removed the need of a similarity transformation and tried to simplify the "end result" a bit by defining some common matrices as additional constants. $\endgroup$ – Kwin van der Veen Oct 29 '17 at 19:58
  • $\begingroup$ @DanielMårtensson However if you want to reduce a model such that $x_2 = x_3$ then you will end up with such an "ugly" expression. However if you want $\dot{x}_2 = \dot{x}_3$, then you could do the similarity transformation and just use the model reduction you did for $\dot{x}_0 = 0$. $\endgroup$ – Kwin van der Veen Oct 29 '17 at 20:13
  • $\begingroup$ @WG you mean hankel singular values ? That requries a balanced state space model. $\endgroup$ – Daniel Mårtensson Oct 29 '17 at 21:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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