Function Reference: 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

sys

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!

a

State transition matrix.

b

Input matrix.

e

Descriptor matrix. If e is empty [] or not specified, an identity matrix is assumed.

tol

Optional tolerance for stability. Default value is 0.

dflg = 0

Matrices (a, b) are part of a continuous-time system. Default Value.

dflg = 1

Matrices (a, b) are part of a discrete-time system.

Outputs

bool = 0

System is not stabilizable.

bool = 1

System is stabilizable.

Algorithm
Uses SLICOT AB01OD and TG01HD, Copyright (c) 2020, 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, isstable, isctrb, isobsv

Source Code: isstabilizable