I had a transfer function


and I found the state space representation of the above using MATLAB.

Using $place(A,B,[poles])$, I found a gain matrix K that corresponds to the poles.

My question is that when I tried to do this using an equivalent alternate state space representation of the transfer function (e.g. using the controllable canonical form), I got a different gain matrix K.

Why is this the case? Since the system's transfer function is one and the same, shouldn't the K matrix be the same? Does this mean that there are multiple K matrices that when multiplied with the states, would give us a desired closed loop characteristic?

Would this then be an advantage over classical control, where here we can use different kinds of controllers with different gains, whereas in classical control we can only have 1 gain value that can get us to the desired closed loop pole characteristic?


1 Answer 1


Using a different state space model, which is equivalent to the same transfer function, means that you are applying a similarity transformation. The new state vector will therefore have a different meaning. For example when given a state space model $(A,B,C,D)$ and applying a similarity transformation $\hat{x}=T\,x$ then the new state space model $(\hat{A},\hat{B},\hat{C},\hat{D})$ can be defined as

$$ \hat{A} = T\,A\,T^{-1} \\ \hat{B} = T\,B \\ \hat{C} = C\,T^{-1} \\ \hat{D} = D $$

and there can be infinitely many different similarity transformation $T$.

A state feedback, based on the first model, $u=-K\,x$ can also be transformed into the coordinates of the new state space model using $u=-K\,T^{-1} \hat{x}=-\hat{K}\,\hat{x}$. The open- and closed loop poles are invariant under a similarity transformation. So from this it can be concluded that when using a different equivalent state space model the feedback matrix should most likely change as well.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.