pole
Poles of dynamic system
Description
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.
For sparse state-space models, this syntax computes up to first 1000 poles with smallest magnitude. (since R2025a)
computes a subset of poles of a sparse model P
= pole(___,Name=Value
)sys
based on
one or more specified name-value arguments. If you do not specify any name-value
arguments, the function computes up to the first 1000 poles with smallest
magnitude. The function ignores name-value arguments when
sys
is a nonsparse model. (since R2025a)
Examples
Input Arguments
Name-Value Arguments
Output Arguments
Limitations
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
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
orimpulse
.
Algorithms
For sparse-state space models, pole
uses the Krylov--Schur
algorithm [1] for inverse power iterations to compute poles in the specified frequency
band.
References
[1] Stewart, G. W. “A Krylov--Schur Algorithm for Large Eigenproblems.” SIAM Journal on Matrix Analysis and Applications 23, no. 3 (January 2002): 601–14. https://doi.org/10.1137/S0895479800371529.