使用matlab求Z反变换:(1)X(z)=1+z^-1/1-2*z^-1*cosω+z^-2 (2)X(z)=2*z/(z-2)^2 并给出完整代码
时间: 2024-02-09 18:08:42 浏览: 170
(完整版)基于matlab的Z变换与反Z变换.pdf
5星 · 资源好评率100%
好的,下面是针对两个不同的Z变换求逆变换的Matlab代码:
(1)
```matlab
syms z n
X(z) = 1 + z^-1 / (1 - 2*z^-1*cos(pi/4) + z^-2); % 定义Z变换
x(n) = iztrans(X(z), z, n); % 求出Z反变换
x(n) = simplify(x(n)); % 化简结果
```
这里我们使用了符号计算工具箱中的 `iztrans` 函数来进行反变换,其中 `simplify` 函数用于化简结果。上述代码中的 `cos(pi/4)` 表示余弦函数的参数为π/4。
(2)
```matlab
syms z n
X(z) = 2*z / (z-2)^2; % 定义Z变换
x(n) = iztrans(X(z), z, n); % 求出Z反变换
x(n) = simplify(x(n)); % 化简结果
```
同样地,我们使用了 `iztrans` 函数和 `simplify` 函数来求出Z反变换,并对结果进行化简。
完整代码如下:
```matlab
%% 第一个Z变换的反变换
syms z n
X(z) = 1 + z^-1 / (1 - 2*z^-1*cos(pi/4) + z^-2); % 定义Z变换
x(n) = iztrans(X(z), z, n); % 求出Z反变换
x(n) = simplify(x(n)); % 化简结果
disp('第一个Z变换的反变换:');
disp(x(n));
%% 第二个Z变换的反变换
syms z n
X(z) = 2*z / (z-2)^2; % 定义Z变换
x(n) = iztrans(X(z), z, n); % 求出Z反变换
x(n) = simplify(x(n)); % 化简结果
disp('第二个Z变换的反变换:');
disp(x(n));
```
阅读全文