已知一离散时间系统的系统函数为 H(z)=\frac{z²-0.36}{z²-1.52z+0.68} 试用MATLAB命令绘出该系统的零极点分布图。
时间: 2024-11-27 19:22:13 浏览: 9
在MATLAB中,你可以使用`zplane`函数来绘制系统的零点和极点分布图,而`nyquist`函数则可以用于绘制Nyquist图。首先,你需要将给定的系统函数`H(z)`转换成极点(poles)和零点(zeros)的向量形式。对于复系数的多项式,MATLAB通常使用`sos`对象来表示。
对于给定的`H(z)`:
\[ H(z) = \frac{z^2 - 0.36}{z^2 - 1.52z + 0.68} \]
我们先需要解这个二次方程找到它的根(即极点),然后找到分子多项式的根作为零点。假设你已经计算出了这些值,并将它们存储在变量`poles`和`zeros`中,那么步骤如下:
```matlab
% 将系数转换为sos矩阵
[num, den] = tf([0.36], [1, -1.52, 0.68]);
sos = zp2sos(num, den); % 或者直接用numZeros和denPoles创建sos
% 绘制零点-极点图
figure;
zplane(sos);
title('Zero-Pole Plot of the System');
% 如果想要查看 Nyquist图
figure;
nyquist(sos);
title('Nyquist Plot of the System');
```
请注意,如果没有现成的`poles`和`zeros`,你可能需要使用`roots`函数来求解:
```matlab
% 计算极点和零点
poles = roots(den);
zeros = roots(num);
% 然后按照上述步骤绘制图形
```
阅读全文