# Get transfer function from state space

The following system is given and I'm asked to find the transfer function $$\frac{Y(s)}{U(s)}=G(s)$$ $$\bar {\dot x}=\begin{bmatrix} 0 & 1 & 0 & 0 &0 \\0 & 0 & 1 & 0 & 0 \\ 0 & -1 & -2 & 0 & 0 \\ 0 & 0 & 0 & -2 & 0\\ 0 & 0 & 0 & 0 & -3\end{bmatrix} \bar x + \begin{bmatrix} 0\\0\\1\\1\\0\end{bmatrix}u=A\bar x + Bu \\$$

$$y=\begin{bmatrix}0 & 1 & 0 & 0 & 1\end{bmatrix} \bar x$$

I haven't practised that much on state space models and I don't remember that much from matrix algebra but here's what I've thought.

I found the eigenvalues seeing the matrix as a 2x2 diagonal matrix with matrix elements therefore getting the denominator of my transfer function $$s(s+1)^2(s+2)(s+3)$$.

I also have my backdoor $$G(s)=C(sI-A)^{-1}B$$ but this includes many calculations and I guess that there is a faster solution.

• I'm trying to decide if we should migrate this somewhere like the Engineering StackExchange or the Theoretical Computer Science StackExchange... though the latter might be the best place to ask this. I honestly have never heard of state space in control systems. – user103380 Jul 22 '17 at 22:09
• You also haven't asked an actual question. – Transistor Jul 22 '17 at 22:30
• @KingDuken, if you Google state space you will find that it is very much in the control systems subject area. – Chu Jul 22 '17 at 22:36
• Your final equation is the TF, $\frac{Y(s)}{X(s)}$, not $y(t)$. What do you mean by 'faster solution'? – Chu Jul 22 '17 at 22:45
• There is also one eigenvalue in the origin missing, i.e. $(s+1)^2(s+2)(s+3)$ needs to be multiplied with a factor $s$. – Koen Tiels Feb 17 '19 at 20:31

I think the answer should be $$\G(s) = \frac{1}{(s+1)^2}\$$, but I haven't checked it with Matlab yet. That should be
A = [0 1 0 0 0; 0 0 1 0 0; 0 -1 -2 0 0; 0 0 0 -2 0; 0 0 0 0 -3];

Since there are quite a lot of zeros in your matrices, the formula $$\G(s) = C (sI-A)^{-1}B\$$ is not as daunting to compute by hand. Since $$\C = \begin{bmatrix} 0 & 1 & 0 & 0 & 1\end{bmatrix}\$$, you only care about the second and the fifth row of $$\(sI-A)^{-1}\$$. Since $$\B=\begin{bmatrix} 0 & 0 & 1 & 1 & 0 \end{bmatrix}^T\$$, you only care about the third and the fourth column of $$\(sI-A)^{-1}\$$. The other values in $$\(sI-A)^{-1}\$$ will get multiplied by zero. This means that you only need to compute four elements of $$\(sI-A)^{-1} = \frac{adj(sI-A)}{det(sI-A)}\$$: \begin{aligned} G(s) & = C \frac{adj(sI-A)}{det(sI-A)} B \\ & = \begin{bmatrix} 0 & 1 & 0 & 0 & 1\end{bmatrix} \frac{ \begin{bmatrix} \bullet & \bullet & \bullet & \bullet & \bullet \\ \bullet & \bullet & \theta_1& \theta_2& \bullet \\ \bullet & \bullet & \bullet & \bullet & \bullet \\ \bullet & \bullet & \bullet & \bullet & \bullet \\ \bullet & \bullet & \theta_3& \theta_4& \bullet \end{bmatrix}} {s(s+1)^2(s+2)(s+3)} \begin{bmatrix} 0 \\ 0 \\ 1 \\ 1 \\ 0\end{bmatrix} \end{aligned} The four elements that you need to compute are elements of an adjugate matrix. The first element is $$\theta_1 = (-1) det( \begin{bmatrix} s & 0 & 0 & 0\\ 0 & -1 & 0 & 0\\ 0 & 0 & s+2 & 0\\ 0 & 0 & 0 & s+3 \end{bmatrix} ) = s(s+2)(s+3)$$ The other $$\\theta\$$s are zero, since there is either a zero row or a zero column in the 4 by 4 matrix of which you need to compute the determinant.
The transfer function is then equal to $$G(s) = \frac{s(s+2)(s+3)}{s(s+1)^2(s+2)(s+3)} = \frac{1}{(s+1)^2}$$