MATLAB——绘制系统的零极点图

题目1:
已知系统函数:
H ( s ) = s − 1 s 2 + 2 s + 2 H(s)=\frac{s-1}{s^{2}+2s+2} H(s)=s2+2s+2s1
求出该系统的零极点,并画出其零极点分布图。
roots:
roots(a)通常表示求解多项式方程a的根,其中a是一个多项式。在这里表示系统方程分子多项式的系数,也就是这里在求系统的极点。多项式方程的根是使得多项式等于零的变量值,也可以理解为多项式的零点或解。
markersize:
'markersize’参数用于指定标记的大小,这里设置为12。
legend()
用于在图形中添加图例,以便更好地说明数据的含义。
pzmap(b,a);
用于绘制零极点图(Pole-Zero Plot),展示有理传递函数的极点和零点在复平面上的分布情况。具体来说,它使用了MATLAB的pzmap函数,将有理传递函数的分子系数向量b和分母系数向量a作为参数传递给该函数。
代码中用了两种方法进行绘制,用于对比。
完整代码:

b=[1,-1];
a=[1,2,2];

ps=roots(a);
zs=roots(b);

subplot(121);
plot(real(zs),imag(zs),'o',real(ps),imag(ps),'x','markersize',12);
axis([-2,2,-2,2]);
grid;%绘制网格线
legend('零点','极点');
subplot(122);
pzmap(b,a);
axis([-2,2,-2,2]);

运行结果:

题目2:
已知系统函数分别为:
H 1 ( s ) = 1 s + 1 H1(s)=\frac{1}{s+1} H1(s)=s+11
H 2 ( s ) = 1 s 2 + 2 s + 17 H2(s)=\frac{1}{s^{2}+2s+17} H2(s)=s2+2s+171
求这些系统的零极点分布图及系统的冲激响应,并判断系统的稳定性。
仿照上面的题目,这次我们主要使用pzmap函数来进行求解零极点,同时用impluse函数进行求冲激响应。

a1=[1,1];
b1=[1];
subplot(221);
impulse(b1,a1);
axis([0,6,0,1]);
subplot(222);
pzmap(b1,a1);
axis([-2,2,-1,1]);

a2=[1,2,17];
b2=[1];
subplot(223);
impulse(b2,a2);
axis([0,5,-0.3,0.3]);
subplot(224);
pzmap(b2,a2);
axis([-5,5,-5,5]);

运行结果:
在这里插入图片描述
说明:axis用于确定横纵坐标的范围,可以根据计算结果选择合适的横纵坐标的范围进行绘制。此外,impulse和pzmap自带绘图功能,不用用plot画了。

猜你喜欢

转载自blog.csdn.net/m0_46155417/article/details/129364222