某单位反馈系统的开环传递函数为G(s)=K/s(s+a)若系统阶跃响应的瞬态性能指标最大超调量为百分之十,响应在稳态值的百分之五误差带以内的调节时间为2秒,试确定参数K和a的值,并给出matlab代码。
时间: 2024-05-02 11:18:28 浏览: 66
基于Matlab求阶跃响应的典型指标(源码).rar
根据瞬态性能指标可知,系统的阶跃响应的超调量为百分之十,因此可得:
$$
\zeta=\frac{\ln(0.1)}{\sqrt{\pi^2+\ln^2(0.1)}}\approx0.591
$$
根据调节时间可知,系统在稳态值的百分之五误差带以内的调节时间为2秒,因此可得:
$$
T_s\leq \frac{4}{\zeta \omega_n}\leq 2
$$
其中,$T_s$为调节时间,$\omega_n$为自然频率,代入$\zeta$可得:
$$
\omega_n\geq\frac{4}{\zeta T_s}\approx 13.47
$$
因此,我们可令$\omega_n=15$,则$a=225$
根据开环传递函数可得:
$$
G(s)=\frac{K}{s(s+a)}=\frac{K}{s^2+225s}
$$
根据标准二阶系统的传递函数公式可知:
$$
G(s)=\frac{\omega_n^2}{s^2+2\zeta\omega_ns+\omega_n^2}
$$
将$G(s)$与标准二阶系统的传递函数公式相比较,可得:
$$
K=\omega_n^2=225\\
2\zeta\omega_n=225
$$
因此,$\zeta=0.5$,$K=225$
matlab代码如下:
```matlab
% 定义系统传递函数
K = 225;
a = 225;
G = tf(K, [1 a 0]);
% 绘制阶跃响应曲线
figure;
step(G);
% 计算并显示瞬态性能指标
info = stepinfo(G);
disp(['超调量:', num2str(info.Overshoot), '%']);
disp(['调节时间:', num2str(info.RiseTime), '秒']);
```
阅读全文