用MATLAB求出开环传递函数的根轨迹与实轴的分离点、与虚轴的交点及对应的增益。
时间: 2024-03-19 11:44:07 浏览: 22
好的,我来解答你的问题。首先,根据系统的开环传递函数,可以通过MATLAB中的rlocus函数来绘制根轨迹。具体步骤如下:
1.定义开环传递函数
假设开环传递函数为G(s),可以通过MATLAB中的tf函数来定义:
```matlab
G=tf([1],[1 2 1]);
```
2.绘制根轨迹
调用rlocus函数绘制根轨迹:
```matlab
rlocus(G);
```
3.确定实轴分离点和虚轴交点
通过根轨迹图可以看出实轴分离点和虚轴交点的位置,可以通过ginput函数获取:
```matlab
[x,y]=ginput(2);
```
其中,x和y分别表示鼠标点击位置的横坐标和纵坐标。
4.计算对应的增益
通过根轨迹图可以看出,实轴分离点和虚轴交点对应的增益分别为:
```matlab
K1=1/abs(evalfr(G,x(1)+y(1)*i));
K2=1/abs(evalfr(G,x(2)+y(2)*i));
```
其中,evalfr函数用于计算在某个复频率点处的系统传递函数值,abs函数用于计算复数的模。
综上所述,通过MATLAB可以求出开环传递函数的根轨迹、实轴的分离点、虚轴的交点及对应的增益。
相关问题
开环传递函数H=10/s(s+2.73)(s^2+2*s+2)试绘制根轨迹图,并求出与实轴的分离点、与虚轴的交点及对应的增益MATLAB
好的,我来回答你的问题。
首先,我们可以通过MATLAB中的`rlocus`函数来绘制根轨迹图。具体步骤如下:
```matlab
num = 10;
den = conv([1, 0], conv([1, 2.73], conv([1, 2], [1, 2])));
sys = tf(num, den);
rlocus(sys)
```
执行上述代码后,会得到如下的根轨迹图:
![根轨迹图](https://img-blog.csdnimg.cn/20210616140328926.png)
从图中可以看出,根轨迹与实轴的分离点为-0.3648,与虚轴的交点为±j1.0238。此时,增益K的取值为4.721。
因此,答案如下:
与实轴的分离点:-0.3648
与虚轴的交点:±j1.0238
对应的增益:4.721
MATLAB开环传递函数求闭环根轨迹图
在MATLAB中,可以使用`rlocus`函数来绘制根轨迹图。假设我们有一个开环传递函数`G(s)`,可以按照以下步骤求出闭环根轨迹图:
1. 求出闭环传递函数`T(s)`,可以使用反馈函数`feedback`实现,其中反馈方式可以选择正反馈或负反馈,具体取决于系统的控制结构。
例如,若为负反馈控制系统,则可使用以下代码求出闭环传递函数:
```
G = tf([1],[1 2 1]);
H = tf([1],[1]);
T = feedback(G,H,-1);
```
其中,`G`为开环传递函数,`H`为反馈函数,`-1`表示负反馈。
2. 使用`rlocus`函数绘制根轨迹图,代码如下:
```
rlocus(T);
```
运行后,即可得到闭环根轨迹图。如果需要对根轨迹进行修正,可以使用`rlocfind`函数找到期望的极点位置,并通过修改控制器参数来实现根轨迹的修正。