3、试用MATLAB命令求序列x(n)=((1/2)^n)*(u(n)-u(n-10))的z变换x(z),并绘出x(z)的零、极点分布图。
时间: 2023-12-12 18:02:39 浏览: 115
可以使用MATLAB中的`ztrans`和`zplane`函数求解。
首先定义序列$x(n)$:
```matlab
syms n z
x(n) = ((1/2)^n) * (heaviside(n) - heaviside(n-10));
```
然后使用`ztrans`函数求解其$z$变换:
```matlab
X(z) = ztrans(x(n), n, z);
simplify(X(z))
```
得到$X(z)$的表达式:
$$
X(z) = \frac{z^{-1}}{1-\frac{1}{2}z^{-1}} - \frac{z^{-11}}{1-\frac{1}{2}z^{-1}}
$$
最后使用`zplane`函数绘制$x(z)$的零、极点分布图:
```matlab
zplane([0 1/2], [1 -1/2]); % 绘制零极点分布图
title('Zero-Pole Plot of X(z)'); % 添加标题
```
绘制出来的零极点分布图如下所示:
其中,圆圈代表极点,叉号代表零点。可以看到,$X(z)$的极点位于$z=\frac{1}{2}$,零点位于原点。
阅读全文