isctrb (Control Design and Simulation Module, MathScript Function)
Member of the info class.
Syntax
[control, stabilize] = isctrb(SysInSS, tol)
[control, stabilize] = isctrb(A, B, tol)
Description
Determines whether a system model is controllable or stabilizable. A system of order n is controllable if the controllability matrix is full rank, meaning the rank of this matrix is equal to n. A system is stabilizable if all the unstable eigenvalues are controllable.
Inputs
Name | Description |
SysInSS | Specifies a linear time-invariant (LTI) system in transfer function, zero-pole-gain, or state-space form. This function converts transfer function and zero-pole-gain models to state-space form. |
tol | Specifies the tolerance in determining whether the controllability matrix is rank-deficient. If a diagonal value in the A matrix of SysInSS is less than the value of tol, this function considers that value equal to 0. The default value of tol is 0.00000001. tol is a real scalar. |
A | Specifies an n x n state matrix, where n is the number of states. The default is an empty matrix. A is a real matrix. |
B | Specifies an n x m input matrix, where m is the number of inputs. The default is an empty matrix. B is a real matrix. |
Outputs
Name | Description |
control | Returns 1 if the SysInSS model is controllable. This output returns 0 if the model is not controllable. |
stabilize | Returns 1 if the SysInSS model is stabilizable. This output returns 0 if the model is not stabilizable. |
Examples
SysInSS = ss(-eye(2), [1 ; 1e-16], [1 1], 0);[control, stabilize] = isctrb(SysInSS, 1e-3);