已知系统的传递函数为∅(s)=0.9s+1/(s+1)(0.01s2+0.08s+1),试编制程序计算系统单位阶跃响应特征量σ%、tₚ、t₃,并绘制系统单位阶跃响应曲线。
时间: 2024-03-27 15:37:58 浏览: 73
绘制阶跃响应曲线的matlab程序
好的,根据您提供的传递函数,我们可以先将其化简为标准形式:
∅(s) = K*[0.9(s+z1)]/[(s+p1)(s2+2ζωns+ωn2)]
其中,K=1,z1=-1,p1=-1,ζ=0.2,ωn=10。
然后,我们可以按照以下步骤来计算系统的单位阶跃响应特征量和绘制响应曲线:
1. 计算系统的阶跃响应函数H(s)
H(s) = ∅(s)/s = (0.9s+1)/(s(s+1)(0.01s2+0.08s+1))
2. 分解H(s)为部分分式
H(s) = A/s + B/(s+1) + (Cs+D)/(0.01s2+0.08s+1)
其中,A=-0.025,B=1.025,C=0.925,D=-0.025。
3. 计算单位阶跃响应特征量
σ% = 100/(1+ζ2) = 89.442%
tₚ = π/(ωn*√(1-ζ2)) = 1.860s
t₃ = 3/(ζωn) = 1.500s
4. 绘制系统的单位阶跃响应曲线
我们可以使用Python的控制系统工具箱(Control System Toolbox)来绘制系统的单位阶跃响应曲线。以下是相应的Python代码:
```python
import numpy as np
import matplotlib.pyplot as plt
import control
# 定义系统传递函数
num = [0.9, 1]
den = [0.01, 0.08, 1, 0, 0]
sys = control.tf(num, den)
# 绘制单位阶跃响应曲线
t = np.linspace(0, 5, 1000)
u = np.ones_like(t)
t, y, _ = control.forced_response(sys, t, u)
plt.plot(t, y)
plt.xlabel('Time (s)')
plt.ylabel('Output')
plt.title('Unit Step Response')
plt.grid()
plt.show()
```
执行以上代码,即可得到系统的单位阶跃响应曲线。
阅读全文