使用bode函数列出该闭环函数GB=100/s³+11.1s²+11.1s+100的单位脉冲响应图的代码
时间: 2024-12-06 18:33:55 浏览: 13
在MATLAB中,你可以使用`bode`函数来绘制系统函数的Bode图,包括单位脉冲响应图。对于给定的闭环传递函数 `GB = (100 / s^3) + (11.1 * s^2) + (11.1 * s) + 100`,你可以按照下面的步骤操作:
```matlab
% 定义传递函数的零点和极点
zeta = 0; % 系统阻尼比(这里假设为0,无阻尼)
wn = sqrt(11.1); % 自然频率
p1 = -wn;
p2 = -wn;
p3 = 0;
% 构建传递函数
num = [100]; % 分子多项式系数
den = [1, 11.1, 11.1, 100]; % 分母多项式系数
% 计算并绘制Bode图
GB_sys = tf(num, den);
figure;
bode(GB_sys, 'r'); % 绘制Bode图,'r'表示红色线
title('单位脉冲响应(Bode Plot of GB)');
xlabel('频率 (rad/s)');
ylabel('增益/相位');
grid on;
```
这将显示一个包含单位脉冲响应的Bode图。如果你想要查看单位脉冲响应的具体数值,可以添加额外的代码计算 impulse响应:
```matlab
% 计算单位阶跃响应
step_resp = step(GB_sys);
t = linspace(0, 5, 1000); % 时间向量
plot(t, step_resp, '-b', 'LineWidth', 2); % 绘制阶跃响应
legend('Bode plot', 'Unit Impulse Response');
```
在这个例子中,`-b` 表示蓝色线。
阅读全文