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

10 ビュー (過去 30 日間)
Justin Burzachiello
Justin Burzachiello 2021 年 7 月 1 日
コメント済み: Star Strider 2021 年 7 月 4 日
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

採用された回答

Star Strider
Star Strider 2021 年 7 月 2 日
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 件のコメント
Justin Burzachiello
Justin Burzachiello 2021 年 7 月 4 日
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.
Star Strider
Star Strider 2021 年 7 月 4 日
As always, my pleasure!
Not off-topic at all. I’ve never encountered a similar situation, so I have no idea.

サインインしてコメントする。

その他の回答 (1 件)

Jesús Zambrano
Jesús Zambrano 2021 年 7 月 2 日
編集済み: Jesús Zambrano 2021 年 7 月 2 日
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 件のコメント
Jesús Zambrano
Jesús Zambrano 2021 年 7 月 2 日
Oh!, my mistake. I didn’t read the E matrix, sorry. Please see answer below that seems to answer your question.
Justin Burzachiello
Justin Burzachiello 2021 年 7 月 4 日
It's okay, Jesús. Thank you for answering.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeProgramming についてさらに検索

製品


リリース

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by