Note: This page has been translated by MathWorks. Click here to see

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Poles of dynamic system

`P = pole(sys)`

`P = pole(sys,J1,...,JN)`

returns the poles of the SISO or MIMO dynamic system
model
`P`

= pole(`sys`

)`sys`

. The output is expressed as the reciprocal of the time
units specified in `sys.TimeUnit`

. The poles of a dynamic system
determine the stability and response of the system.

An open-loop linear time-invariant system is stable if:

In continuous-time, all the poles of the transfer function have negative real parts. When the poles are visualized on the complex s-plane, then they must all lie in the left-half plane (LHP) to ensure stability.

In discrete-time, all the poles must have a magnitude strictly smaller than one, that is they must all lie inside the unit circle.

Multiple poles are numerically sensitive and cannot be computed with high accuracy. A pole

*λ*with multiplicity*m*typically results in a cluster of computed poles distributed on a circle with center*λ*and radius of order$$\rho \approx {\epsilon}^{1/m},$$

where ε is the relative machine precision (

`eps`

).For more information on multiple poles, see Sensitivity of Multiple Roots.

If

`sys`

has internal delays, poles are obtained by first setting all internal delays to zero so that the system has a finite number of poles, thereby creating a zero-order Padé approximation. For some systems, setting delays to zero creates singular algebraic loops, which result in either improper or ill-defined, zero-delay approximations. For these systems,`pole`

returns an error.To assess the stability of models with internal delays, use

`step`

or`impulse`

.