用matlab画出X(z)=(-3z^(-1))/(2-5z^(-1)+2z^(-1))的零极点分布图,计算并绘制收敛域为|z|>2情况下的对应序列
时间: 2024-05-22 11:17:04 浏览: 178
好的,我明白了你的要求。关于你的问题,我们可以按照下面的步骤进行。
首先,我们先把给定的传输函数写成分式形式:
X(z) = (-3z^(-1))/(2-5z^(-1) + 2z^(-2))
然后,我们可以计算其分母的根:
2-5z^(-1) + 2z^(-2) = 0
解得:z = 2 或 z = 1/2
这两个根分别对应于一个零点和两个极点,因为零点和极点都是在单位圆外部。绘制零极点图时通常将单位圆画在图中。因此,我们可以用 MATLAB 的 "zplane" 函数来绘制零极点图:
[z,p,k] = tf2zpk([-3 0],[2 -5 2]);
zplane(z,p)
运行上述代码后,可以得到以下图像:
![image.png](attachment:image.png)
从图中可以看出,零点在单位圆外部,而两个极点都在单位圆内部。因此,它的收敛域是 |z| > 2。
接下来,我们需要计算出该序列的时间域表示形式。根据它的分式形式,我们有:
X(z) = (-3z^(-1))/(2-5z^(-1) + 2z^(-2))
= (-3/2) * (1/(1-2z^(-1))) - (3/2) * (1/(1-(1/2)z^(-1)))
然后利用 MATLAB 计算出 X(z) 的逆Z变换。因为它是两个一阶系统的和,所以我们可以使用部分分式展开来得到:
X(z) = (-3/2) * (1/(1-2z^(-1))) - (3/2) * (1/(1-(1/2)z^(-1)))
= (-3/2) * sum((2^(-n-1)) * z^(-n), n=0:inf) - (3/2) * sum((1/2)^n * z^(-n), n=0:inf)
通过这些计算,我们现在可以绘制收敛域为 |z| > 2 的对应序列。在MATLAB中可以使用“filter”函数来实现,代码如下所示:
n = 0:50;
x = (-3/2)*(2.^(-n-1)) - (3/2)*((1/2).^n);
y = filter([-3 0],[2 -5 2],x);
stem(n, y);
title('Convergent Sequence for |z| > 2');
运行该代码后,可以得到以下结果:
![image-2.png](attachment:image-2.png)
该序列在收敛域 |z| > 2 内可收敛到零。
阅读全文