2
$\begingroup$

I’m looking into MATLAB’s state-space functionality, and I found a peculiar relation that I don’t believe I’ve seen before, and I’m curious how one might obtain it. According to this documentation page, when converting a state-space system representation to its transfer function, the following well-known equality is used

$$H(s) = C(sI-A)^{-1}B$$

However, they go one step further and state that

$$H(s) = C(sI-A)^{-1}B = \frac{{\det}(sI-A+BC) - {\det}(sI-A)}{\det(sI-A)}$$

How did they manage to convert $C{\text {Adj}}(sI-A)B$ into ${\det}(sI-A+BC) - {\det}(sI-A)$?

As far as I understand, we can assume here that $B$ is a column vector and $C$ is a row vector, i.e. it’s a single-input / single-output relationship.

1 Answers 1

2

They are using the Sherman-Morrison formula, which I remember best in the form $$ \det(I+MN) = \det(I+NM); $$ this holds provided that both products $MN$ and $NM$ are defined. Note that if $M$ is a column vector and $N$ a row vector, then $I+NM$ is a scalar. Now $$\begin{align} \det(sI-A+BC) &= \det\left((sI-A)(I+(sI-A)^{-1}BC\right)\\ &= \det(sI-A)\det(I+(sI-A)^{-1}BC) \tag{1}. \end{align} $$ Applying the formula with $M=I+(sI-A)^{-1}B$ and $N=C$ yields that $$ \det(I+(sI-A)^{-1}BC) = \det(I+C(sI-A)^{-1}B). $$ If $B$ is a column vector and $C$ a row vector then the final determinant is equal to $$ 1 + C(sI-A)^{-1}B \tag{2} $$ Plugging (2) to (1), gives $$ \det(sI-A+BC) = \det(sI-A)\left( 1 + C(sI-A)^{-1}B \right) $$ Shuffling terms gives the result.

  • 1
    Nice answer! I have edited but forgot later to write it up. Little bit of cleaning I did on the formatting. I hope you don't mind.2011-11-05