1.已知系统的开环传递函数为2s+6/s^3+2*s^2+5s+2 ,试绘制 Nyquist 图,并判断系统的稳定性。 2.已知开环传递函数为30*(0.2s+1)/s*(s^2+16*s+100) ,试绘制系统的伯德图。 3.单位负反馈的开环传递函数为10/s^3+3*s^2+9*s求其开环截止频率、 穿越频率、幅值裕度和相位裕度。给出matlab实验的代码,代码要简洁简短些
时间: 2025-06-25 12:00:19 浏览: 17
### MATLAB 示例代码
以下是用于绘制奈奎斯特图 (Nyquist Plot)、伯德图 (Bode Plot),并计算截止频率、穿越频率、幅值裕度和相位裕度的 MATLAB 代码:
#### 奈奎斯特图与伯德图绘制及参数计算
```matlab
% 清空工作区和屏幕
clc;
clear;
% 定义系统参数
K = 1; % 比例系数
z = []; % 开环零点
p = [0, -1]; % 开环极点
sys = zpk(z, p, K); % 创建开环传递函数 G(s)
% 绘制奈奎斯特图
figure(1);
nyquist(sys); % 使用 nyquist 函数绘图
axis([-1.1, 0.1, -10, 10]); % 设置坐标轴范围
title('G(s)=1/s(s+1) 的奈奎斯特曲线'); % 添加标题
% 绘制伯德图
figure(2);
w = logspace(-1, 2); % 对数空间定义频率范围:0.1 ~ 100 rad/s
bode(sys, w); % 使用 bode 函数绘图
grid on; % 显示网格线
title('G(s)=1/s(s+1) 的伯德图'); % 添加标题
% 计算幅值裕度、相位裕度、相位穿越频率和截止频率
[Lg, Y, Wg, Wc] = margin(sys);
disp(['幅值裕度: ', num2str(Lg)]); % 输出幅值裕度
disp(['相位裕度: ', num2str(Y), ' 度']); % 输出相位裕度
disp(['相位穿越频率: ', num2str(Wg), ' rad/s']); % 输出相位穿越频率
disp(['截止频率: ', num2str(Wc), ' rad/s']); % 输出截止频率
```
---
#### 多种增益下的稳定性分析
以下代码展示了如何通过改变比例系数 \( K \) 来观察系统的稳定性变化。
```matlab
clc;
clear;
den = conv(conv([1, 0], [0.03, 1]), conv([0.0025, 1], [0.001, 1])); % 分母多项式
K_values = [5, 500, 800, 3000]; % 不同的比例系数
for i = 1:length(K_values)
num = K_values(i) * [0.0167, 1]; % 分子多项式
sys = tf(num, den); % 构建传递函数
margins = allmargin(sys); % 获取所有裕度信息
fprintf('当 K=%d:\n', K_values(i));
fprintf(' 幅值裕度: %.4f\n', margins.GainMargin);
fprintf(' 相位裕度: %.4f 度\n', margins.PhaseMargin);
fprintf(' 截止频率: %.4f rad/s\n', margins.PMFrequency);
end
```
---
### 参数解释
- **奈奎斯特图**: 描述了系统开环频率特性的轨迹,主要用于判断闭环系统的稳定性[^1]。
- **伯德图**: 包括对数幅频特性曲线和相频特性曲线,便于直观了解系统的动态性能和稳定性指标[^4]。
- **幅值裕度 (\( L_g \))**: 表示系统能够承受的最大增益增加倍数而不失稳[^2]。
- **相位裕度 (\( Y \))**: 当系统开环增益达到单位增益时,允许额外引入的负相移角度[^2]。
- **相位穿越频率 (\( W_g \))**: 频率响应中相角首次达到 -180° 所对应的频率[^1]。
- **截止频率 (\( W_c \))**: 频率响应中增益下降到 -3dB 所对应的频率[^1]。
---
阅读全文