Z變換(2020.10.21)

hunnu.wei發表於2020-10-21

1.Z變換

    1.1 Z變換公式

            X(z)=\sum_{n=-\infty }^{\infty}x(n)z^{-n}

    1.2 matlab函式(ztrans)

        1.2.1 Syntax(語法)

           ztrans(f)
           ztrans(f,transVar)
           ztrans(f,var,transVar)

        1.2.2 Input Arguments   

           f — Input

           var — Independent variable

           transVar — Transformation variable

        1.2.3 Description

         1. ztrans(f) finds the Z-Transform of f. By default, the independent variable is n and the transformation variable is z. If f does not contain n, ztrans uses symvar.
         2. ztrans(f,transVar) uses the transformation variable transVar instead of z.
         3. ztrans(f,var,transVar) uses the independent variable var and transformation variable transVar instead of n and z, respectively.

      1.2.4 Examples

         P1:

syms n
f = sin(n);
ztrans(f)
 
ans =
 
(z*sin(1))/(z^2 - 2*cos(1)*z + 1)

         P2

syms m n
f = exp(m+n);
ztrans(f)
 
ans =
 
(z*exp(m))/(z - exp(1))

若需要指定變數為y,可用下面的語句 (自變數仍然為n)

syms y
ztrans(f,y)
 
ans =
 
(y*exp(m))/(y - exp(1))

涉及Heaviside函式(階躍函式)和二項式係數的z變換

 P3

syms n z
ztrans(heaviside(n-3),n,z)
 
ans =
 
(1/(z - 1) + 1/2)/z^3

P4         n(n-1)/2

ztrans(nchoosek(n,2))
 
ans =
 
z/(z - 1)^3

求矩陣m的z變換。通過使用相同大小的矩陣為每個矩陣項指定獨立變數和變換變數。當引數是非標量時,ztrans按元素對其進行操作。

P5

syms a b c d w x y z
M = [exp(x) 1; sin(y) i*z];
vars = [w x; y z];
transVars = [a b; c d];
ztrans(M,vars,transVars)
 
ans =
 
[                (a*exp(x))/(a - 1),        b/(b - 1)]
[ (c*sin(1))/(c^2 - 2*cos(1)*c + 1), (d*1i)/(d - 1)^2]

如果同時使用標量和非標量引數呼叫ztrans,那麼它將通過使用標量展開展開標量以匹配非標量。非標量引數的大小必須相同。

syms w x y z a b c d
ztrans(x,vars,transVars)
 
ans =
 
[ (a*x)/(a - 1),   b/(b - 1)^2]
[ (c*x)/(c - 1), (d*x)/(d - 1)]

計算符號函式的z變換。如果第一個引數包含符號函式,則第二個引數必須是標量。

syms f1(x) f2(x) a b
f1(x) = exp(x);
f2(x) = x;
ztrans([f1 f2],x,[a b])
 
ans =
 
[ a/(a - exp(1)), b/(b - 1)^2]

如果ztrans不能轉換輸入,那麼它將返回一個未計算的呼叫。

syms f(n)
f(n) = 1/n;
F = ztrans(f,n,z)
 
F =
 
ztrans(1/n, n, z)

使用iztrans返回原始表示式。

iztrans(F,z,n)
 
ans =
 
1/n

1.如果任何引數是陣列,則ztrans對陣列的所有元素按元素方式操作;

2.如果第一個引數包含符號函式,則第二個引數必須是標量;

3.要計算z逆變換,使用iztrans。

相關文章