Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a system tha is described by the following difference equation:

$y(n) + 0.3y(n-1) - 0.3y(n-2) = 0.5x(n) - x(n-1)$

How can i compute, using MATLAB (e.g. with roots function), the poles of the system?

share|cite|improve this question
up vote 2 down vote accepted

You can perform a $z$-transform, obtain the discrete transfer function and find the roots of the denominator: (assuming $x$ is the input and $y$ is the output) $$ y(k+2) + 0.3y(k+1) - 0.3y(k) = 0.5x(k+2) - x(k+1) \leadsto G(z) = \frac{Y(z)}{X(z)} = \frac{z(0.5z-1)}{z^2+0.3z-0.3} $$ then you can use roots([1 0.3 -0.3]) or obtain the discrete time state space equations and find the eigenvalues of the $A$ matrix.

share|cite|improve this answer
thanx for your answer! But isn't ${z(0.5z-1)}/(z^2+0.3z-0.3)$ the correct transfer function in my example? – nikos Dec 6 '11 at 18:54
@nikos Yes, sorry for the mistake. Correcting right away. – user13838 Dec 6 '11 at 18:58

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.