单位负反馈系统的开环传递函数为G(s)=- 10 s2+25+2 (1)用 MATLAB求单位脉冲响应和单位阶跃响应,绘制出响应曲线,并对单位阶跃响应求其性能指标。
时间: 2024-10-10 11:05:30 浏览: 27
这是一个典型的第二型零点系统,由于传递函数G(s)的分母有一个正实数零点和两个复共轭极点,它会产生衰减振荡的单位脉冲响应和单位阶跃响应。
首先,为了在MATLAB中计算这个系统:
1. **确定传递函数**: G(s) = -10 / (s^2 + 25 + 2j), 其中j是虚数单位。
2. **创建模型**: 使用`tf`函数创建Transfer Function Model (TFM):
```matlab
G = tf(-10, [1 0 2 25]);
```
3. **求单位脉冲响应 (Impulse Response)**:
```matlab
h = impulse(G);
```
这将返回一个时间序列向量h,表示系统的动态响应。
4. **绘制单位脉冲响应**:
```matlab
plot(t, h)
title('Unit Impulse Response')
xlabel('Time (s)')
ylabel('Response')
```
5. **求单位阶跃响应 (Step Response)**:
```matlab
T = step(G);
```
T同样是一个时间序列向量,代表阶跃响应。
6. **绘制单位阶跃响应并求性能指标**:
```matlab
stem(t, T)
title('Unit Step Response')
hold on
% 计算上升时间、峰值时间和调节时间
rise_time = find(T >= 0.9*max(T), 1, 'first') - 1;
peak_time = find(max(T), 1);
settling_time = find(abs(T - steady_state) < 0.1*steady_state, 1, 'last');
```
上升时间、峰值时间和调节时间可以根据需要自定义稳定状态(steady_state),这里假设是最后一个平稳时刻的响应值。
7. **显示性能指标**:
```matlab
fprintf('Rise Time: %.2f seconds\n', rise_time)
fprintf('Peak Time: %.2f seconds\n', peak_time)
fprintf('Settling Time: %.2f seconds\n', settling_time)
```
通过上述步骤,你可以得到所需的响应图形以及一些基本的性能指标。请注意,实际运行时需在MATLAB环境中操作。
阅读全文