[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Octave Controls toolbox demo: State Space analysis demo
Check for compatibility of the dimensions of the matrices defining the linear system or a similar discrete-time system.
If the matrices are compatibly dimensioned, then abcddim
returns
The number of system states.
The number of system inputs.
The number of system outputs.
Otherwise abcddim
returns n = m = p = -1.
Note: n = 0 (pure gain block) is returned without warning.
Build controllability matrix:
of a system data structure or the pair (a, b).
ctrb
forms the controllability matrix.
The numerical properties of is_controllable
are much better for controllability tests.
Computes the norm of a system data structure (continuous time only).
Reference: Doyle, Glover, Khargonekar, Francis, State-Space Solutions to Standard Control Problems, IEEE TAC August 1989.
Computes the norm of a system data structure.
Inputs
system data structure
norm search tolerance (default: 0.001)
minimum value for norm search (default: 1e-9)
maximum value for norm search (default: 1e+9)
pole tolerance:
Outputs
Computed gain, within tol of actual gain. g is returned as Inf if the system is unstable.
Actual system gain lies in the interval [gmin, gmax].
References: Doyle, Glover, Khargonekar, Francis, State-space solutions to standard control problems, IEEE TAC August 1989; Iglesias and Glover, State-Space approach to discrete-time control, Int. J. Control, vol 54, no. 5, 1991; Zhou, Doyle, Glover, Robust and Optimal Control, Prentice-Hall, 1996.
Build observability matrix: of a system data structure or the pair (a, c).
The numerical properties of is_observable
are much better for observability tests.
Plots the zeros and poles of a system in the complex plane.
Input
System data structure.
Outputs
if omitted, the poles and zeros are plotted on the screen.
otherwise, pol and zer are returned as the
system poles and zeros (see sys2zp
for a preferable function call).
Returns retval = 1 if the dimensions of a, b, c, d are compatible, otherwise retval = 0 with an appropriate diagnostic message printed to the screen. The matrices b, c, or d may be omitted.
Logical check for system controllability.
Inputs
system data structure
n by n, n by m matrices, respectively
optional roundoff paramter. default value: 10*eps
Outputs
Logical flag; returns true (1) if the system sys or the pair (a, b) is controllable, whichever was passed as input arguments.
u is an orthogonal basis of the controllable subspace.
Method Controllability is determined by applying Arnoldi iteration with complete re-orthogonalization to obtain an orthogonal basis of the Krylov subspace
span ([b,a*b,...,a^{n-1}*b]). |
The Arnoldi iteration is executed with krylov
if the system
has a single input; otherwise a block Arnoldi iteration is performed
with krylovb
.
Test for detactability (observability of unstable modes) of (a, c).
Returns 1 if the system a or the pair (a, c) is detectable, 0 if not, and -1 if the system has unobservable modes at the imaginary axis (unit circle for discrete-time systems).
See is_stabilizable
for detailed description of
arguments and computational method.
Determine whether a continuous time state space system meets assumptions of DGKF algorithm. Partitions system into:
[dx/dt] [A | Bw Bu ][w] [ z ] = [Cz | Dzw Dzu ][u] [ y ] [Cy | Dyw Dyu ] |
or similar discrete-time system. If necessary, orthogonal transformations qw, qz and nonsingular transformations ru, ry are applied to respective vectors w, z, u, y in order to satisfy DGKF assumptions. Loop shifting is used if dyu block is nonzero.
Inputs
system data structure
number of controlled inputs
number of measured outputs
threshold for 0; default: 200*eps
.
Outputs
true(1) if system passes check, false(0) otherwise
data structure of is_dgkf
results. Entries:
dimensions of w, z
system A matrix
(n x nw) qw-transformed disturbance input matrix
(n x nu) ru-transformed controlled input matrix;
B = [Bw Bu]
(nz x n) Qz-transformed error output matrix
(ny x n) ry-transformed measured output matrix
C = [Cz; Cy]
off-diagonal blocks of transformed system D matrix that enter z, y from u, w respectively
controlled input transformation matrix
observed output transformation matrix
nonzero if the dyu block is nonzero.
untransformed dyu block
nonzero if the system is discrete-time
is_dgkf
exits with an error if the system is mixed
discrete/continuous.
References
Doyle, Glover, Khargonekar, Francis, State Space Solutions to Standard Control Problems, IEEE TAC August 1989.
Maciejowksi, J.M., Multivariable Feedback Design, Addison-Wesley, 1989.
Return nonzero if system is digital.
Inputs
System data structure.
When equal to 0 (default value), exits with an error if the system is mixed (continuous and discrete components); when equal to 1, print a warning if the system is mixed (continuous and discrete); when equal to 2, operate silently.
Output
When equal to 0, the system is purely continuous; when equal to 1, the system is purely discrete; when equal to -1, the system is mixed continuous and discrete.
Exits with an error if sys is a mixed (continuous and discrete) system.
Logical check for system observability.
Default: tol = tol = 10*norm(a,'fro')*eps
Returns 1 if the system sys or the pair (a, c) is observable, 0 if not.
See is_controllable
for detailed description of arguments
and default values.
Return true if ts is a valid sampling time (real, scalar, > 0).
Returns nonzero if the system data structure sys is single-input, single-output.
Logical check for system stabilizability (i.e., all unstable modes are controllable). Returns 1 if the system is stabilizable, 0 if the the system is not stabilizable, -1 if the system has non stabilizable modes at the imaginary axis (unit circle for discrete-time systems.
Test for stabilizability is performed via Hautus Lemma. If assume that discrete-time matrices (a,b) are supplied.
Return true if mylist is a list of individual strings.
Returns 1 if the matrix a or the system sys is stable, or 0 if not.
Inputs
is a roundoff parameter, set to 200*eps
if omitted.
Digital system flag (not required for system data structure):
dflg != 0
stable if eig(a) is in the unit circle
dflg == 0
stable if eig(a) is in the open LHP (default)
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |
This document was generated on July, 20 2006 using texi2html 1.76.