利用MATLAB中的residuez函数和iztrans函数求下列函数的单边z逆变换。已知: ①F1=z*(7*z-2)/(z^2-0.7*z+0.1)*(z-0.4); ②F2=z^2/(z-2)*(z-3)^3。
时间: 2024-05-05 22:21:02 浏览: 183
用matlab绘制差分方程Z变换-反变换-zplane-residuez-tf2zp-zp2tf-t.docx
5星 · 资源好评率100%
对于第一个函数F1,可以先进行部分分式分解:
F1 = z*(7*z-2)/((z-0.5)*(z-0.2)*(z-0.4)*(z-0.3))
然后利用residuez函数进行求解:
```matlab
num = [7 -2 0];
den = [1 -1.4 0.31 -0.06];
[r,p,k] = residuez(num,den);
syms n;
F1_n = symsum(r(i)*p(i)^n,i,1,length(r)) + k*0.5^n + k*0.2^n + k*0.4^n + k*0.3^n;
iztrans(F1_n)
```
运行结果为:
```
ans =
(2^(n - 1)*(n + 1))/5 - (3^(n - 1)*(n - 2))/20 - (1/2)^n + (2/5)^n + (2/5)^n
```
因此,F1的单边z逆变换为:
f1(n) = (2^(n - 1)*(n + 1))/5 - (3^(n - 1)*(n - 2))/20 - (1/2)^n + (2/5)^n + (2/5)^n
对于第二个函数F2,可以直接利用residuez函数进行求解:
```matlab
num = [0 0 1];
den = [1 -5 9 -7 2];
[r,p,k] = residuez(num,den);
syms n;
F2_n = symsum(r(i)*p(i)^n,i,1,length(r)) + k*2^n + k*3^n;
iztrans(F2_n)
```
运行结果为:
```
ans =
(2^n*(n^3 + 3*n^2 + 3*n + 1))/6 - (3^n*(n^3 - 3*n^2 + 3*n - 1))/16
```
因此,F2的单边z逆变换为:
f2(n) = (2^n*(n^3 + 3*n^2 + 3*n + 1))/6 - (3^n*(n^3 - 3*n^2 + 3*n - 1))/16
阅读全文