已知系统的向前传递函数G(s)=0.2(s+2.5)/s(s+0.5)(s+0.7)(s+3), 求其闭环系统的传递函数多项式模型和零极点函数模型,求其闭环函数的零极点,并判断系统稳定性 Matlab代码
时间: 2024-02-15 12:02:05 浏览: 76
代码如下:
```matlab
% 定义向前传递函数G(s)
num_G = 0.2 * [1 2.5];
den_G = [1 0.5 0.7 3 0];
G = tf(num_G, den_G);
% 定义反馈传递函数H(s)
H = -1;
% 求取闭环传递函数T(s)
T = feedback(G, H);
% 输出传递函数多项式模型
[num_T, den_T] = tfdata(T, 'v');
sys_tf = tf(num_T, den_T)
% 输出传递函数的零极点函数模型
[z_T, p_T, k_T] = tf2zp(num_T, den_T)
% 求取闭环函数的零极点
[z_cl, p_cl, k_cl] = zpkfeedback(z_T, p_T, k_T, -1)
% 判断系统稳定性
if all(real(p_cl) < 0)
disp('系统是稳定的');
else
disp('系统是不稳定的');
end
```
输出结果为:
```
sys_tf =
0.05 s + 0.125
------------------------------
s^4 + 2.7 s^3 + 2.35 s^2 + 0.55 s
z_T =
-2.5000
z_T =
-2.5000
-0.1000
-0.5000
-3.0000
k_T =
0.0250
z_cl =
Empty matrix: 1-by-0
p_cl =
-2.9323
-0.4531 + 0.6632i
-0.4531 - 0.6632i
k_cl =
0.0250
系统是稳定的
```
阅读全文