LabVIEW Control Design and Simulation Module

is_controllable (MathScript RT Module Function)

  • Updated2023-03-14
  • 2 minute(s) read

is_controllable (MathScript RT Module Function)

Owning Class: info

Requires: Control Design and Simulation Module and MathScript RT Module

Syntax

[control, stabilize] = is_controllable(SysInSS)

[control, stabilize] = is_controllable(SysInSS, tol)

[control, stabilize] = is_controllable(A, B, tol)

Legacy Name: isctrb

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.

Examples

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.

Details

The following table lists the support characteristics of this function.

Supported in the LabVIEW Run-Time Engine Yes
Supported on RT targets Yes
Suitable for bounded execution times on RT Not characterized

Examples

SysInSS = ss(-eye(2), [1 ; 1e-16], [1 1], 0);
[control, stabilize] = is_controllable(SysInSS, 1e-3);

Related Topics

ctrbmx
ctrbstairs
obsvstair
obsvmx
is_observable
grammian