tf2ss not returning the correct State Space form

47 views (last 30 days)
I want to obtain the state space form of the following transfer function using tf2ss:
I went ahead and obtained the state space represention by hand:
So the code I developed to get the state space matrices for the transfer function was:
NUM = [1];
DEN = [1 -1 10];
[A,B,C,D] = tf2ss(NUM,DEN);
The state space matrices returned were:
A = [1 -10 ; 1 0]
B = [1 ; 0]
C = [0 1]
D = 0
It seems to have computed the correct numbers, but they are in the incorrect locations. How do I ensure that tf2ss returns the correct state space matrix representation?

Accepted Answer

Star Strider
Star Strider on 28 Nov 2020
The result is correct. The exact configuration doesn’t matter, so long as all the matrices and vectors work together (and produce the correct result).
It may be possible to create a transformation matrix of some sort, however it’s likely not worth the effort. (For what it’s worth, the Control System Toolbox produces a result analogous to the Signal Processing Toolbox that you are using here, except for normalising it.)

More Answers (0)

Categories

Find more on MATLAB in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!