编写Matlab代码绘制如下系统的根轨迹: G1s = K ss+1 s+2 G2s = K s^4 + 5s^3 + 85^2 + 65 ¢3$=K$+a1 5$+2$+4其中a选择三个不同的位置绘制根轨迹;同时当a为某个固定值时增加一个开环极点-b选择三个不同的b值比较根轨迹的区别:63⑤=K$+a$$+②$+4$+b G4s = K 5^4 + 16s^3 + 365^2 +80s在不同位
- G1(s)的根轨迹
clear clc K = 1; sys = tf(K, conv(conv([1 0], [1 1]), [1 2])); rlocus(sys)
- G2(s)的根轨迹
clear clc K = 1; sys = tf(K, [1 5 85 65]); rlocus(sys)
- G3(s)的根轨迹
a1 = -1; a2 = -2; a3 = -3; K = 1; sys1 = tf(Kconv([1 a1], [5 6 8]), conv([1 0], [1 2 4])); sys2 = tf(Kconv([1 a2], [5 6 8]), conv([1 0], [1 2 4])); sys3 = tf(K*conv([1 a3], [5 6 8]), conv([1 0], [1 2 4])); subplot(1,3,1) rlocus(sys1) title(['a=', num2str(a1)]) subplot(1,3,2) rlocus(sys2) title(['a=', num2str(a2)]) subplot(1,3,3) rlocus(sys3) title(['a=', num2str(a3)])
当a=1时,增加一个开环极点-b的根轨迹
b1 = -1; b2 = -2; b3 = -3; K = 1; sys1 = tf(Kconv([1 1], [5 6 8]), conv([1 0], conv([1 2 4], [1 b1]))); sys2 = tf(Kconv([1 1], [5 6 8]), conv([1 0], conv([1 2 4], [1 b2]))); sys3 = tf(K*conv([1 1], [5 6 8]), conv([1 0], conv([1 2 4], [1 b3]))); subplot(1,3,1) rlocus(sys1) title(['b=', num2str(b1)]) subplot(1,3,2) rlocus(sys2) title(['b=', num2str(b2)]) subplot(1,3,3) rlocus(sys3) title(['b=', num2str(b3)])
- G4(s)的根轨迹
K = 1; z1 = -2; z2 = -3; p1 = -1; p2 = -4; sys1 = tf(Kconv([1 z1], [1 z2]), conv([1 p1], [1 p2])); sys2 = tf(Kconv([1 z1], [1 z2]), conv([1 p1], [1 p2 5])); sys3 = tf(K*conv([1 z1], [1 z2]), conv([1 p1 2], [1 p2 5])); subplot(1,3,1) rlocus(sys1) title(['增加开环零点']) subplot(1,3,2) rlocus(sys2) title(['增加开环极点']) subplot(1,3,3) rlocus(sys3) title(['增加开环零点和极点'])
原文地址: https://www.cveoy.top/t/topic/N1n 著作权归作者所有。请勿转载和采集!