已知二阶单位负反馈系统开环传递函数为G(s)16/(s(s+1.6)),用MATLAB编写代码求闭环系统的传递函数,计算系统闭环根、阻尼比、无阻尼振荡频率和稳态增益,用MATLAB编写代码绘制该闭环系统单位阶跃响应曲线
时间: 2023-03-05 10:02:08 浏览: 1677
以下是MATLAB代码和求解过程:
```matlab
% 定义开环传递函数G(s)
G = tf([16],[1 1.6 0]);
% 求闭环传递函数
H = feedback(G,1);
% 计算系统的根
damping_ratio = damp(H);
undamped_frequency = abs(damping_ratio(1,1))*sqrt(1-damping_ratio(1,2)^2);
root = -damping_ratio(:,2).*undamped_frequency + 1i*undamped_frequency*sqrt(1-damping_ratio(:,2).^2);
% 计算稳态增益
steady_state_error = 1/1.6;
steady_state_gain = 1/(1+steady_state_error);
% 绘制单位阶跃响应曲线
step(H);
```
代码中,我们首先定义了开环传递函数G(s),然后使用feedback函数求解闭环传递函数H。接下来,使用damp函数计算系统的阻尼比和无阻尼振荡频率,然后使用这些值计算系统的根。最后,我们使用稳态误差公式计算系统的稳态增益,并使用step函数绘制单位阶跃响应曲线。
需要注意的是,在MATLAB中,使用tf函数定义传递函数时,分子和分母的系数应该分别写成一个向量,例如[16]表示分子系数为16。在计算稳态增益时,我们使用了常见的误差常数公式1/(1+Kp),其中Kp为系统的静态增益,此处Kp=1.6。最后,我们使用step函数绘制单位阶跃响应曲线,它会自动将横坐标限定在0到5秒,纵坐标限定在0到1.2之间。
阅读全文