Matlab extract coefficient from z transform function

12 views (last 30 days)
Hi I have a z transform function 3/z + 5/z^2 + 6/z^3 + 1
How would I extract the coefficients from this equation? I have tried using coeffs and it says it is not a polynomial.
I would like the answer to come out as [3 5 6 1]
The symbolic z variable is declared as syms z

Accepted Answer

Star Strider
Star Strider on 10 May 2014
Edited: Star Strider on 10 May 2014
Use the sym2poly function, although here it’s necesary to do an intermediate step:
syms z
fz = 3/z + 5/z^2 + 6/z^3 + 1
[fzn, fzd] = numden(fz)
fzc = sym2poly(fzn)
fzc = circshift(fzc, [0 -1])
produces:
fzc =
3 5 6 1
  2 Comments
David
David on 10 May 2014
Thank you so much for your input. It was exactly what I was looking for.
Star Strider
Star Strider on 10 May 2014
My pleasure!
The sym3poly function would work with a ‘normal’ polynomial, but the symbolic terms in the denominator require numden and then circshift.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!