# getting z transform in factored form?using Matlab?

22 views (last 30 days)
ABTJ on 24 Feb 2020
Commented: Star Strider on 25 Feb 2020
How we can get z transform in factored form if we have z,p and k?I have also attached snapshot of z transform below I can use matlab command tf2zp for finding z,p and k.
(z,p,k)=tf2zp(n,d) where n=numerator of H(z) and d=denominator of H(z)
But from there onwards how can i then proceed to find factored form?
Is it better to use matlab function zp2sos ??

#### 1 Comment

Walter Roberson on 24 Feb 2020
poly2sym() and factor()?

Star Strider on 24 Feb 2020
Control System Toolbox:
z = tf('z');
H = (4*z^2 + 3*z + 9) / (4*z^2 + 3*z - 4);
zsys = zpk(H);
Z = [zsys.Z{:}]
P = [zsys.P{:}]
K = zsys.K
Z =
-0.375 + 1.45236875482778i
-0.375 - 1.45236875482778i
P =
-1.44300046816469
0.693000468164691
K =
1

ABTJ on 25 Feb 2020
I get error when i copy paste your code Star Strider on 25 Feb 2020
My code obviously works in R2019b.
Z = cell2mat(zsys.Z)
P = cell2mat(zsys.P)
K = zsys.K