已知单位负反馈控制系统的开环传递函数为G(s)=0.2(s+2.5)/s(s+0.5)(s+0.7)(s+3) ①用MATLAB编写程序求系统的特征根,判断闭环系统的稳定性,并绘制闭环系统的零极点图。 ②若将增益0.2改为6,判断闭环系统的稳定性,并绘制闭环系统的零极点图,
时间: 2024-11-04 10:14:45 浏览: 397
首先,让我们分步骤解答这个问题:
① **MATLAB编写程序求解**:
你可以使用MATLAB Control System Toolbox中的`pzmap`函数来绘制开环零极点图,以及`margin`函数来判断系统稳定性。以下是基本的MATLAB代码示例:
```matlab
% 定义开环传递函数
num = [0.2, 0.5*0.2]; % 积分项系数
den = [1, 2.5, 0.5, 0.7, 3]; % 原点多项式
% 绘制开环零极点图
[G, Gc] = tf(num, den); % 创建传递函数对象
figure;
rlocus(Gc); % 开环零极点图
title('Open Loop Poles and Zeros');
% 判断闭环稳定性
K = 0.2; % 增益
sys_clb = feedback(G*K, 1);
[margin_stability, gain_margin, phase_margin] = margin(sys_clb);
% 输出稳定性信息
if margin_stability > 0
disp('闭环系统稳定');
else
disp('闭环系统不稳定');
end
```
② **增益改变后的稳定性及零极点图绘制**:
如果你将增益从0.2改为6,只需更改`K`的值:
```matlab
K_new = 6;
sys_clb_new = feedback(G*K_new, 1);
[margin_new, _, _] = margin(sys_clb_new);
if margin_new > 0
disp(['增益为6时,闭环系统稳定']);
else
disp(['增益为6时,闭环系统不稳定']);
end
figure;
rlocus(sys_clb_new); % 绘制新闭环零极点图
title(sprintf('闭环零极点图 (增益 = %g)', K_new));
```
运行这些代码会显示当前增益下的闭环稳定性以及相应的零极点图。如果需要,你也可以根据计算得到的稳定裕度(gain_margin 和 phase_margin)来进一步分析系统的稳定性。
阅读全文
相关推荐


















