[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

29.6 System Analysis-Properties

Function File: analdemo ()

Octave Controls toolbox demo: State Space analysis demo

Function File: [n, m, p] = abcddim (a, b, c, d)

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

n

The number of system states.

m

The number of system inputs.

p

The number of system outputs.

Otherwise abcddim returns n = m = p = -1.

Note: n = 0 (pure gain block) is returned without warning.

Function File: ctrb (sys, b)
Function File: ctrb (a, b)

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.

Function File: h2norm (sys)

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.

Function File: [g, gmin, gmax] = hinfnorm (sys, tol, gmin, gmax, ptol)

Computes the norm of a system data structure.

Inputs

sys

system data structure

tol

norm search tolerance (default: 0.001)

gmin

minimum value for norm search (default: 1e-9)

gmax

maximum value for norm search (default: 1e+9)

ptol

pole tolerance:

  • if sys is continuous, poles with (H is appropriate Hamiltonian) are considered to be on the imaginary axis.
  • if sys is discrete, poles with (appropriate symplectic pencil) are considered to be on the unit circle.
  • Default value: 1e-9

Outputs

g

Computed gain, within tol of actual gain. g is returned as Inf if the system is unstable.

gmin
gmax

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.

Function File: obsv (sys, c)
Function File: obsv (a, c)

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.

Function File: [zer, pol] = pzmap (sys)

Plots the zeros and poles of a system in the complex plane.

Input

sys

System data structure.

Outputs

pol
zer

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).

Function File: retval = is_abcd (a, b, c, d)

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.

Function File: [retval, u] = is_controllable (sys, tol)
Function File: [retval, u] = is_controllable (a, b, tol)

Logical check for system controllability.

Inputs

sys

system data structure

a
b

n by n, n by m matrices, respectively

tol

optional roundoff paramter. default value: 10*eps

Outputs

retval

Logical flag; returns true (1) if the system sys or the pair (a, b) is controllable, whichever was passed as input arguments.

u

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.

Function File: retval = is_detectable (a, c, tol, dflg)
Function File: retval = is_detectable (sys, tol)

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.

Function File: [retval, dgkf_struct ] = is_dgkf (asys, nu, ny, tol )

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

asys

system data structure

nu

number of controlled inputs

ny

number of measured outputs

tol

threshold for 0; default: 200*eps.

Outputs

retval

true(1) if system passes check, false(0) otherwise

dgkf_struct

data structure of is_dgkf results. Entries:

nw
nz

dimensions of w, z

a

system A matrix

bw

(n x nw) qw-transformed disturbance input matrix

bu

(n x nu) ru-transformed controlled input matrix;

B = [Bw Bu]

cz

(nz x n) Qz-transformed error output matrix

cy

(ny x n) ry-transformed measured output matrix

C = [Cz; Cy]

dzu
dyw

off-diagonal blocks of transformed system D matrix that enter z, y from u, w respectively

ru

controlled input transformation matrix

ry

observed output transformation matrix

dyu_nz

nonzero if the dyu block is nonzero.

dyu

untransformed dyu block

dflg

nonzero if the system is discrete-time

is_dgkf exits with an error if the system is mixed discrete/continuous.

References

[1]

Doyle, Glover, Khargonekar, Francis, State Space Solutions to Standard Control Problems, IEEE TAC August 1989.

[2]

Maciejowksi, J.M., Multivariable Feedback Design, Addison-Wesley, 1989.

Function File: digital = is_digital (sys, eflg)

Return nonzero if system is digital.

Inputs

sys

System data structure.

eflg

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

digital

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.

Function File: [retval, u] = is_observable (a, c, tol)
Function File: [retval, u] = is_observable (sys, tol)

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.

Function File: is_sample (ts)

Return true if ts is a valid sampling time (real, scalar, > 0).

Function File: is_siso (sys)

Returns nonzero if the system data structure sys is single-input, single-output.

Function File: retval = is_stabilizable (sys, tol)
Function File: retval = is_stabilizable (a, b, tol, dflg)

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.

Function File: is_signal_list (mylist)

Return true if mylist is a list of individual strings.

Function File: is_stable (a, tol, dflg)
Function File: is_stable (sys, tol)

Returns 1 if the matrix a or the system sys is stable, or 0 if not.

Inputs

tol

is a roundoff parameter, set to 200*eps if omitted.

dflg

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.