How to get a close loop transfer function from an open loop one?

Hi all
The transfer function for my open loop system is
13.11 s^3 + 30.28 s^2 - 17650 s - 692.3
-------------------------------------------------
s^5 + 19.97 s^4 + 150.1 s^3 + 12.95 s^2 + 26.24 s
I wanted to know how to get the close loop equivalent of that transfer function above on MATLAB?
Kind regards

 採用された回答

Sam Chak
Sam Chak 2022 年 3 月 12 日

1 投票

Assuming that the sensor measures perfectly (), then this is one of the ways:
s = tf('s');
G = (13.11*s^3 + 30.28*s^2 - 17650*s - 692.3)/(s^5 + 19.97*s^4 + 150.1*s^3 + 12.95*s^2 + 26.24*s)
H = 1;
Gcl = G/(1 + G*H) % closed-loop transfer function
Gcl = minreal(Gcl) % minimal order of Gcl
pole(Gcl) % find the poles of Gcl
ans =
-14.6294 + 0i
-6.1635 + 11.5538i
-6.1635 - 11.5538i
7.0258 + 0i
-0.0393 + 0i
Since one of the poles is in the right-half s plane, then the system is unstable. You will need to design a compensator to stabilize it.

1 件のコメント

Sam Chak
Sam Chak 2022 年 3 月 12 日
Here is the second approach:
G = tf([13.11 30.28 -17650 -692.3], [1 19.97 150.1 12.95 26.24 0])
Gcl = feedback(G, 1)
pole(Gcl)
For more details, I suggest you to check these links:

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeDynamic System Models についてさらに検索

質問済み:

2022 年 3 月 11 日

コメント済み:

2022 年 3 月 12 日

Community Treasure Hunt

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

Start Hunting!

Translated by