For any continuous time state space model, so SISO, MISO, SIMO or MIMO you can always use the following formula to convert the state space model into a transfer function matrix
$$
G(s) = C (s\,I - A)^{-1} B + D.
$$
What you basically have to determine is which modes are controllable and observable. Checking the rank of the controllability and observability matrices won't tell you which modes are controllable and observable, only whether the entire system is minimal (and to some extend how many modes are not present). A better method in this case would be the Hautus lemma. However a direct application of this would this require you to check the rank of eight matrices (all four eigenvalues with $B$ for controllability and $C$ for observability). This can be reduced significantly by using the similarity transformation $\hat{x} = V^{-1}\,x$, which gives
\begin{align}
\hat{A} &= V^{-1}\,A\,V = \Lambda, \\
\hat{B} &= V^{-1}\,B, \\
\hat{C} &= C\,V.
\end{align}
Here $\hat{B}$ is twice the first column plus the last column of $V^{-1}$ and $\hat{C}$ is the first minus the second row of $V$, which gives
$$
\hat{B} = \begin{bmatrix}
1 & 0 & 1 & 1
\end{bmatrix}^\top, \quad
\hat{C} = \begin{bmatrix}
0 & 0 & 1 & 1
\end{bmatrix}.
$$
From this result it is relatively easy to see, without actually applying the Hautus test, which modes are controllable and observable since $\hat{A}$ is diagonal, so the system can be seen as four decoupled first order systems. The first component of the state $\hat{x}$ has the associated eigenvalue $-4$ and its dynamics does get an input passed through by $\hat{B}$ (its first component is nonzero), but does not appear in the output (the first component of $\hat{C}$ is zero), so this state component is controllable but not observable. Similarly it can be shown that the state with eigenvalue $-2$ not controllable and not observable, and the states with eigenvalues $0$ and $1$ are both controllable and observable.
So a minimal representation of the system would only contain the states which are both controllable and observable. This would be the states with eigenvalues $0$ and $1$, therefore answer B) would be the only option. However B) is not minimal, since by factoring out the 2 it is easy to see that it has also a zero at $1$, which would mean you could do pole zero cancelation. This would imply the system was not minimal, but earlier we showed that it is minimal. So all that remains is E) none of the above.
The minimal transfer function can be calculated relatively easily by considering only the controllable and observable parts. A minimal state space model would then become
$$
\left[\begin{array}{c|c}
A_m & B_m \\ \hline C_m
\end{array}\right] =
\left[\begin{array}{cc|c}
0 & 0 & 1 \\ 0 & 1 & 1 \\ \hline 1 & 1
\end{array}\right]
$$
Its corresponding transfer function can be calculated with $C_m\,(s\,I-A_m)^{-1}B_m$, where $s\,I-A_m$ is diagonal so its inverse is just taking the inverse of each diagonal element. Using this inverse gives the following expression for the transfer function
$$
H(s) = \frac{1}{s} + \frac{1}{s-1} = \frac{2\,s-1}{s(s-1)}.
$$
Best Answer
There are multiple ways of doing this, but if you are only interested in the dynamic order of the system then evaluating the McMillan degree would be one of the fastest. The McMillan degree is the order of the pole polynomial, where Multivariable feedback control: analysis and design from S. Skogestad and I. Postlethwaite define the pole polynomial of a transfer function matrix as:
Another option is to construct a potentially non-minimal state space realization and then find its minimal realization (for example by calculating its Kalman decomposition). This can be done by first finding a state space realization of each (SISO) transfer function at the $n$th row and $m$th column of $G(s)$ denoted by $(A_{nm},B_{nm},C_{nm},D_{nm})$. These SISO state space models can then be combined into one state space model. For your $G(s)$ with two inputs and two outputs the state space model can be constructed using
$$ \left[\begin{array}{c|c} A & B \\ \hline C & D \end{array}\right] = \left[\begin{array}{c c c c|c c} A_{11} & 0 & 0 & 0 & B_{11} & 0 \\ 0 & A_{12} & 0 & 0 & 0 & B_{12} \\ 0 & 0 & A_{21} & 0 & B_{21} & 0 \\ 0 & 0 & 0 & A_{22} & 0 & B_{22} \\ \hline C_{11} & C_{12} & 0 & 0 & D_{11} & D_{12} \\ 0 & 0 & C_{21} & C_{22} & D_{21} & D_{22} \end{array}\right]. $$
You can also let Matlab do all the work for you by using
minreal(ss(G))
. Namelytf2ss()
only accepts the numerator and denominator inputs to be row vectors, while for the MIMO case the numerator and denominator are cell arrays containing the row vectors. But usingss()
on a transfer function directly converts it into a state space model, instead of first returning the separate matrices.