How do I convert descriptor state-space to transfer function?

Hello. I have a state-space forumla of the form state-space.
I'd like to have MATLAB convert this into its respective transfer function for me. I plan on encoding
sys = dss(A,B,C,D,E)
However, I looked on the page for transfer functions through tf, and I am unable to find how to convert from this dss to tf. Is there a direct way to encode it? Yes, I know that I can just do it by hand and encode the result myself. I'd just like to know if MATLAB can do it, and if so, how.
  • Thank you

 Risposta accettata

This seems to work:
A = [1 2; 3 4];
B = [5; 6];
C = [7 8; 9 10];
D = 0;
E = [11 12; 13 14];
ss_sys = dss(A,B,C,D,E)
ss_sys = A = x1 x2 x1 1 2 x2 3 4 B = u1 x1 5 x2 6 C = x1 x2 y1 7 8 y2 9 10 D = u1 y1 0 y2 0 E = x1 x2 x1 11 12 x2 13 14 Continuous-time state-space model.
tf_sys = tf(ss_sys)
tf_sys = From input to output... 3 s - 8 1: ------------- s^2 - 2 s + 1 4 s - 9 2: ------------- s^2 - 2 s + 1 Continuous-time transfer function.
.

3 Commenti

Thank you, Star. I appreciate the included code.
Also, do you by any chance know what to do if sparse A,B,C,D,E matrices are so large that I recieve a "unable to convert the model to a transfer function because of overflow" error when using this method?
This is a bit off-topic, so I asked this in a new question, but I thought that I might as well ask here.
As always, my pleasure!
Not off-topic at all. I’ve never encountered a similar situation, so I have no idea.

Accedi per commentare.

Più risposte (1)

Jesús Zambrano
Jesús Zambrano il 2 Lug 2021
Modificato: Jesús Zambrano il 2 Lug 2021
I think you can just take the A,B,C,D matrices and use ss2tf command to convert it to transfer function.
Please look at this documentation which also shows an example:
Hope it helps!

3 Commenti

The E matrix can be ignored?
Oh!, my mistake. I didn’t read the E matrix, sorry. Please see answer below that seems to answer your question.
It's okay, Jesús. Thank you for answering.

Accedi per commentare.

Categorie

Scopri di più su Programming in Centro assistenza e File Exchange

Prodotti

Release

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by