某控制系统闭环传递函数为W(s)=N(s)/D(s) ,列举四种求闭环极点的matlab函数,并写出matlab求解程序
时间: 2024-06-03 09:09:10 浏览: 213
1. pole(W):求解传递函数的极点。
例如,对于传递函数W(s) = (s+1)/(s^2+3s+2),可以使用以下matlab代码求解闭环极点:
syms s
N = s+1;
D = s^2+3*s+2;
W = N/D; % 定义传递函数
pole(W) % 求解闭环极点
结果为:
-2.0000
-1.0000
2. pzmap(W):绘制传递函数的极点和零点分布图,同时可以查看极点的位置。
例如,对于传递函数W(s) = (s+1)/(s^2+3s+2),可以使用以下matlab代码绘制极点和零点分布图:
syms s
N = s+1;
D = s^2+3*s+2;
W = N/D; % 定义传递函数
pzmap(W) % 绘制极点和零点分布图
绘制结果如下:
可以看出,极点分布在左半平面,符合稳定系统的要求。
3. rlocus(W):绘制传递函数的根轨迹图,同时可以查看闭环极点随参数变化的变化情况。
例如,对于传递函数W(s) = (s+1)/(s^2+3s+2+K),可以使用以下matlab代码绘制根轨迹图:
syms s K
N = s+1;
D = s^2+3*s+2+K;
W = N/D; % 定义传递函数
rlocus(W) % 绘制根轨迹图
绘制结果如下:
可以看出,当参数K从0增加到无穷大时,闭环极点从左半平面移动到右半平面,系统从稳定状态变为不稳定状态。
4. sisotool(W):打开SISO工具箱,可以通过交互界面绘制根轨迹图、伯德图等,并进行参数调节和系统性能分析。
例如,对于传递函数W(s) = (s+1)/(s^2+3s+2),可以使用以下matlab代码打开SISO工具箱:
sisotool(W)
打开SISO工具箱后,可以通过交互界面进行根轨迹绘制、伯德图绘制、参数调节等,如下图所示:
阅读全文