建立离散传递函数
T1
题目

程序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| T = 1; num1 = [5 2]; num2 = [17 10.7 3.2 0 0 0]; den1 = [1 -0.3 -0.5 0.06]; den2 = [-300 82.2 112.1 158 -7.3 1];
[z1, p1, k1] = tf2zp(num1, den1); [z2, p2, k2] = tf2zp(num2, den2);
Gz1 = tf(num1, den1, T) Gz2 = tf(num2, den2, T)
sys1 = feedback(Gz1,1); sys2 = feedback(Gz2,1);
figure; subplot(2, 1, 1); pzmap(Gz1); title('Gz1 零极点图'); subplot(2, 1, 2); pzmap(Gz2); title('Gz2 零极点图');
isStable(sys1, 'Gz1表示的系统') isStable(sys2, 'Gz2表示的系统') function isStable(sys, sysName) p = pole(sys); if all(real(p) < 0) disp([sysName '是稳定的,所有极点都在复平面的左半部']); else disp([sysName '是不稳定的,因为一个或多个极点位于复平面的右半部分']); end end
|
结果
- 零极点图

- 判断稳定性
Gz1表示的系统是不稳定的,因为一个或多个极点位于复平面的右半部分
Gz2表示的系统是不稳定的,因为一个或多个极点位于复平面的右半部分
T2
T3
题目

程序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| syms z ; D = 45 * z^3 - 117 * z^2 + 119 * z^1 - 40
G = sym2poly(D);
r = roots(G)
isStable(r) function isStable(r) if all(real(r) < 0) disp(['该系统是稳定的,所有特征根都在复平面的左半部']); else disp(['该系统是不稳定的,因为一个或多个特征根位于复平面的右半部分']); end end
|
结果
特征根
r =
0.9807 + 0.6558i
0.9807 - 0.6558i
0.6386 + 0.0000i
判断稳定性
该系统是不稳定的,因为一个或多个特征根位于复平面的右半部分
T4
题目

程序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| for(i=1:1:3) StepResponse(1, i); end
StepResponse(0.2, 1); StepResponse(0.8, 1); StepResponse(1.2, 1); StepResponse(3, 1);
function StepResponse(K, T) num = [K]; den = [1 1 0]; G = tf(num, den) Gz =c2d(G, T, 'zoh') Fai = feedback(Gz, 1, -1) figure; step(Fai) title(['K=', num2str(K), ' T=', num2str(T), ' 时的阶跃响应']); end
|
结果
- 当 K=1,T=1s、2s、3 s时



- 当 T=1s,K=0.2、0.8、1.2、3时



