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$
2
  • $\begingroup$ Can you give an example of such a model reduction? I mean what reference/book are you using? $\endgroup$
    – MrYouMath
    Commented Oct 28, 2017 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$
    – euraad
    Commented Oct 28, 2017 at 18:57

1 Answer 1

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$
6
  • $\begingroup$ Is there any easier way to do model reduction? $\endgroup$
    – euraad
    Commented Oct 29, 2017 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-
    Commented Oct 29, 2017 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$ Commented Oct 29, 2017 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$ Commented Oct 29, 2017 at 20:13
  • $\begingroup$ @WG you mean hankel singular values ? That requries a balanced state space model. $\endgroup$
    – euraad
    Commented Oct 29, 2017 at 21:34

You must log in to answer this question.

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