isstabilizable
Function File: bool = isstabilizable (sys)
Function File: bool = isstabilizable (sys, tol)
Function File: bool = isstabilizable (a, b)
Function File: bool = isstabilizable (a, b, e)
Function File: bool = isstabilizable (a, b, [], tol)
Function File: bool = isstabilizable (a, b, e, tol)
Function File: bool = isstabilizable (a, b, [], [], dflg)
Function File: bool = isstabilizable (a, b, e, [], dflg)
Function File: bool = isstabilizable (a, b, [], tol, dflg)
Function File: bool = isstabilizable (a, b, e, tol, dflg)
Logical check for system stabilizability. All unstable modes must be controllable or all uncontrollable states must be stable.
Inputs
LTI system. If sys is not a state-space system, it is converted to a minimal state-space realization, so beware of pole-zero cancellations which may lead to wrong results!
State transition matrix.
Input matrix.
Descriptor matrix.
If e is empty [] or not specified, an identity matrix is assumed.
Optional tolerance for stability. Default value is 0.
Matrices (a, b) are part of a continuous-time system. Default Value.
Matrices (a, b) are part of a discrete-time system.
Outputs
System is not stabilizable.
System is stabilizable.
Algorithm
Uses SLICOT AB01OD and TG01HD,
Copyright (c) 1996-2025, SLICOT, available under the BSD 3-Clause
(License and Disclaimer).
* Calculate staircase form (SLICOT AB01OD) * Extract unobservable part of state transition matrix * Calculate eigenvalues of unobservable part * Check whether real (ev) < -tol*(1 + abs (ev)) continuous-time abs (ev) < 1 - tol discrete-time |
See also: isdetectable, @lti/isstable, isctrb, isobsv
Source Code: isstabilizable