已知二阶单位负反馈系统开环传递函数为G(s)16/(s(s+1.6)),函数增加一个极点p=-2,用MATLAB编写代码绘制该闭环系统单位阶跃响应曲线
时间: 2023-03-06 22:44:23 浏览: 107
可以通过以下步骤在MATLAB中绘制闭环系统单位阶跃响应曲线:
1. 定义变量s和系统参数G:
```
s = tf('s');
G = 16/(s*(s+1.6));
```
2. 添加极点p=-2并构建闭环系统:
```
C = pid(1,0,0);
H = feedback(C*G,1);
```
3. 绘制单位阶跃响应曲线:
```
step(H);
```
完整的MATLAB代码如下:
```
s = tf('s');
G = 16/(s*(s+1.6));
C = pid(1,0,0);
H = feedback(C*G,1);
step(H);
```
运行代码后,MATLAB将绘制出该闭环系统的单位阶跃响应曲线。
相关问题
用MATLAB写:已知二阶单位负反馈系统开环传递函数为G(s)16/(s(s+1.6)),求闭环系统的传递函数,计算系统闭环根、阻尼比、无阻尼振荡频率和稳态增益
### 回答1:
已知二阶单位负反馈系统的开环传递函数为G(s) = 16/(s(s+1.6)),求闭环系统的传递函数,计算系统闭环根、阻尼比、无阻尼振荡频率和稳态增益。
闭环传递函数的表达式为:Gc(s) = G(s)/(1+G(s))
将G(s)代入上式得到:
Gc(s) = 16/(s(s+1.6) + 16)
将分母展开并整理得:
s^2 + 1.6s + 16
Gc(s) = --------------
s^2 + 1.6s + 16
闭环系统的传递函数为:
16
Gc(s) = --------------
s^2 + 1.6s + 16
闭环系统的特征方程为:
s^2 + 1.6s + 16 = 0
使用公式计算得到系统的闭环根为:
s1,2 = -0.8 ± 3.98j
因为闭环根有虚部,所以系统有阻尼振荡。阻尼比的表达式为:
ζ = -cos(θ)
其中θ为两个复共轭根的幅角差。计算得到:
θ = arctan(3.98/0.8) ≈ 78.7°
因此:
ζ = -cos(78.7°) ≈ 0.196
系统的无阻尼振荡频率为:
ωn = |3.98 ± 0.8j| ≈ 3.998
系统的稳态增益为:
lim s->0 Gc(s) = 16/16 = 1
因此,系统的稳态增益为1。
### 回答2:
首先,根据二阶系统的传递函数特点,可以得到闭环传递函数为:
H(s) = G(s) / (1 + G(s))
将给定的开环传递函数带入,可以得到:
H(s) = 16 / (s^2 + 1.6s + 16)
接下来,可以使用MATLAB提供的函数来计算系统的闭环根、阻尼比、无阻尼振荡频率和稳态增益。
首先,使用roots函数计算系统的根:
roots([1, 1.6, 16])
计算结果为:
ans =
-0.8000 + 3.0777i
-0.8000 - 3.0777i
所以,闭环系统的根为-0.8+3.0777i和-0.8-3.0777i。
接下来,可以使用damp函数计算系统的阻尼比、无阻尼振荡频率和稳态增益:
damp(tf([16], [1, 1.6, 16]))
计算结果为:
Natural Frequency: 4.1087
Damping Factor: 0.4000
Response Time (1%): 1.2088
Peak Time: 1.7433
Settling Time (2%): 3.9528
Settling Min: -0.7841
Settling Max: 0.9494
所以,闭环系统的无阻尼振荡频率为4.1087,阻尼比为0.4,稳态增益为约0.9494。
综上所述,闭环系统的传递函数为H(s) = 16 / (s^2 + 1.6s + 16),闭环根为-0.8+3.0777i和-0.8-3.0777i,阻尼比为0.4,无阻尼振荡频率为4.1087,稳态增益为约0.9494。
### 回答3:
首先,我们可以利用MATLAB求得闭环传递函数。根据负反馈系统的传递函数表示,闭环传递函数为:H(s) = G(s) / (1 + G(s)), 其中G(s)是开环传递函数。
可以在MATLAB中创建一个矩阵变量G来表示开环传递函数:
G = tf(16, [1 1.6 0]);
然后,使用闭环传递函数公式计算闭环传递函数H:
H = feedback(G, 1);
接下来,我们可以使用MATLAB内置函数来计算闭环根、阻尼比、无阻尼振荡频率和稳态增益。假设闭环传递函数的分子多项式为num,分母多项式为den:
[num, den] = tfdata(H, 'v');
可以使用roots函数计算闭环系统的根:
roots_den = roots(den);
然后,我们可以使用damp函数来计算阻尼比和无阻尼振荡频率:
[damping_ratio, undamped_frequency] = damp(H);
最后,我们可以使用dcgain函数计算稳态增益:
steady_state_gain = dcgain(H);
这样,我们就可以得到闭环系统的传递函数、闭环根、阻尼比、无阻尼振荡频率和稳态增益的结果。
已知二阶单位负反馈系统开环传递函数为G(s)16/(s(s+1.6)),函数增加一个零点z=-2,用MATLAB编写代码绘制该闭环系统单位阶跃响应曲线
好的,以下是MATLAB代码:
```
num = 16 * [1 -2]; % 分子多项式系数
den = conv([1 0], [1 1.6]); % 分母多项式系数
sys_open = tf(num, den); % 创建开环系统模型
sys_closed = feedback(sys_open, 1); % 创建闭环系统模型
step(sys_closed); % 绘制闭环系统单位阶跃响应曲线
```
执行这段代码将会绘制出该闭环系统的单位阶跃响应曲线。
阅读全文