How can I obtain the matrices A, B, C ,D of the state space for a transfer matrix using Matlab?
35 views (last 30 days)
Show older comments
Flavio Clarizia
on 10 Feb 2020
Commented: Star Strider
on 11 Feb 2020
Suppose I have a transfer matrix:
![xa.PNG](https://www.mathworks.com/matlabcentral/answers/uploaded_files/270921/xa.png)
how can I obtain the matrices A, B, C ,D of the state space for this matrix using Matlab?
0 Comments
Accepted Answer
Star Strider
on 10 Feb 2020
Try this:
s = tf('s');
P = [2/(s^2+3*s+2) 2*s/(s^2+3*s+2); -2*s/(s^2+3*s+2) -2/(s^2+3*s+2)]
S = ss(P)
producing:
S =
A =
x1 x2 x3 x4
x1 -3 -2 0 0
x2 1 0 0 0
x3 0 0 -3 -2
x4 0 0 1 0
B =
u1 u2
x1 2 0
x2 0 0
x3 0 2
x4 0 0
C =
x1 x2 x3 x4
y1 0 1 1 0
y2 -1 0 0 -1
D =
u1 u2
y1 0 0
y2 0 0
Continuous-time state-space model.
4 Comments
Star Strider
on 11 Feb 2020
As always, my pleasure!
I posted an Answer to your other Question (that you referenced in your last Comment) that reproduces the anslysis at the end of that monograph. The appropriate MATLAB code is already written, so that was straightforward. (I have not done anything with Rosenbrock System Matrices since my multivariable control course in graduate school, so this was an interesting problem.)
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!