开环系统传递函数为k*(s+2)/(s^4+8s^3+22s^2+24s+k*s+2k+9),用matlab绘制出闭环系统根轨迹,并分析其稳定性
时间: 2023-09-08 10:17:03 浏览: 172
好的,根据传递函数,可以得到系统的特征方程为s^4+8s^3+22s^2+24s+k*s+2k+9=0。
为了分析系统的稳定性,我们需要先确定系统的传递函数中的参数k和2k+9的取值范围,使得系统的特征方程有两个共轭复根和两个实根。通过解特征方程,可以得到实根的取值范围为k>0,复根的取值范围为k<18,且2k+9>0。
接下来,我们可以使用MATLAB绘制出系统的根轨迹,代码如下:
```
k = 10; % 假设k=10
num = [1 2];
den = [1 8 22 24 k 2*k+9];
sys = tf(num, den);
rlocus(sys);
```
绘制完成后,可以看到根轨迹如下图所示:
![根轨迹](https://img-blog.csdnimg.cn/20210605111406644.png)
从图中可以看出,根轨迹完全位于左半平面,没有穿过虚轴,这也说明了系统的稳定性。
综上所述,该系统的传递函数为k*(s+2)/(s^4+8s^3+22s^2+24s+k*s+2k+9),特征方程的实根取值范围为k>0,复根的取值范围为k<18,且2k+9>0。在假设k=10的情况下,系统的根轨迹完全位于左半平面,没有穿过虚轴,因此系统是稳定的。
相关问题
系统开环传函为G(s)=K*(s+8)/s*(s+2)*(s^2+8*s+32),计算两分支进入右半平面时的K值
当系统开环传函的两个极点进入右半平面时,系统会变得不稳定。因此,我们需要通过调整增益K的值来使系统保持稳定。
首先,我们需要使用根轨迹法来确定哪些K值会使系统的极点进入右半平面。根据根轨迹法的规则,系统的极点会沿着根轨迹移动,当根轨迹穿过实轴时,极点就会进入右半平面。
在这个例子中,系统的传递函数具有两个零点:s = -8和s = 0,以及三个极点:s = 0,s = -2 + 4i,和s = -2 - 4i。根据根轨迹法的规则,根轨迹的起点位于传递函数的零点处,因此,根轨迹的起点为s = -8。
接下来,我们需要绘制根轨迹,并查找哪些K值将导致根轨迹穿过实轴。在这个例子中,我们可以使用MATLAB或其他数学软件来绘制根轨迹。下面是绘制根轨迹的MATLAB代码:
```
num = [1 8];
den = [1 2 8 0];
rlocus(num, den);
```
运行代码后,我们得到下面的根轨迹图:
![image.png](attachment:image.png)
从图中可以看出,当K的值大于约为1.14时,根轨迹将穿过实轴进入右半平面。因此,我们需要选择一个小于1.14的K值来确保系统的稳定性。
至于具体的K值,可以通过试错法或者数值计算的方法来确定。在这里,我们可以通过手动计算来确定一个接近但小于1.14的K值。
假设我们选择K = 1,那么系统的传递函数将变为:
G(s) = (s+8)/(s*(s+2)*(s^2+8s+32))
我们可以使用MATLAB或其他数学软件来计算系统的极点:
```
num = [1 8];
den = [1 2 8 0];
sys = tf(num, den);
pole(sys);
```
运行代码后,我们得到系统的极点为:
```
-0.7279 + 4.2203i
-0.7279 - 4.2203i
-2.5441 + 0.0000i
-5.2279 + 0.0000i
```
从结果可以看出,所有的极点都位于左半平面,因此,我们选择K = 1是一个合适的选择。
综上所述,当系统开环传函为G(s) = K*(s+8)/(s*(s+2)*(s^2+8*s+32))时,选择K = 1可以确保系统的稳定性。
只用matlab完成以下实验:非单位反馈控制系统的传递函数为:G(s)=104(s²+8s+20)/s(s+4),H(s)=0.2/(s+2),绘制系统的根轨迹,确定具有最小阻尼比的放大系数 A,并用零、极点、增益形式表示闭环传递函数。
在MATLAB中完成这个非单位反馈控制系统的根轨迹分析和闭环传递函数设置,你可以按照以下步骤操作:
1. **定义系统传递函数**:
```Matlab
G = tf(104, [1, 8, 20]);
H = tf(0.2, [1, 2]);
```
这里`tf()`函数用于创建传递函数模型。
2. **计算开环传递函数**:
```Matlab
openLoopTF = G * H;
```
3. **绘制根轨迹图**:
```Matlab
[rts, k] = root locus(openLoopTF);
plot(rts)
xlabel('Root location in complex plane')
ylabel('Magnitude of K')
title('Root Locus for the System')
```
运行`root locus()`会生成根轨迹图,找出最大增益`k`对应的阻尼比。
4. **找到最小阻尼比的放大系数A**:
根轨迹图上,阻尼比最小的位置对应的是最小衰减率的闭环系统。通过观察图形或利用`minreal()`函数找到阻尼比最小的闭合回路的闭环传递函数,假设最小阻尼比下`A`的值为`A_min`。
5. **求取闭环传递函数**:
```Matlab
A_min = minreal(A_min, openLoopTF);
closedLoopTF = feedback(G*H*A_min, 1);
```
`feedback()`函数用于构建闭环控制系统。
6. **展示闭环传递函数的形式**:
```Matlab
num_clo, den_clo = closedLoopTF.num, closedLoopTF.den;
disp(['闭环传递函数为: ', num2str(num_clo), ' / (', num2str(den_clo), ')']);
```
这将显示闭环系统的零极点增益表达式。
阅读全文