sysic
(Not recommended) Build interconnections of certain and uncertain matrices and systems
sysic
is not recommended. Use connect
instead.
Syntax
sysout = sysic
Description
sysic
requires that 3 variables with fixed
names be present in the calling workspace: systemnames
,
inputvar
and outputvar
.
systemnames
is a char
containing the names of
the subsystems (double, tf, zpk, ss, uss, frd, ufrd
, etc) that make
up the interconnection. The names must be separated by spaces with no additional
punctuation. Each named variable must exist in the calling workspace.
inputvar
is a char
, defining the names of the
external inputs to the interconnection. The names are separated by semicolons, and the
entire list is enclosed in square brackets [ ]
. Inputs can be scalar
or multivariate. For instance, a 3-component (x,y,z
) force input can
be specified with 3 separate names, Fx, Fy, Fz
. Alternatively, a
single name with a defined integer dimension can be specified, as in
F{3}
. The order of names in inputvar
determines the order of inputs in the interconnection.
outputvar
is a char
, describing the outputs of
the interconnection. Outputs do not have names-they are simply linear combinations of
individual subsystem's outputs and external inputs. Semicolons delineate separate
components of the interconnections outputs. Between semicolons, signals can be added and
subtracted, and multiplied by scalars. For multivariable subsystems, arguments within
parentheses specify which subsystem outputs are to be used and in what order. For
instance, plant(2:4,1,9:11)
specifies outputs
2,3,4,1,9,10,11
from the subsystem plant
. If a
subsystem is listed in outputvar
without arguments, then all outputs
from that subsystem are used.
sysic
also requires that for every subsystem name listed in
systemnames
, a corresponding variable,
input_to_ListedSubSystemName
must exist in the calling workspace.
This variable is similar to outputvar
– it defines the input signals
to this particular subsystem as linear combinations of individual subsystem's outputs
and external inputs.
sysout = sysic
will perform the interconnection described by the
variables above, using the subsystem data in the names found in
systemnames
. The resulting interconnection is returned in the
output argument, listed above as sysout
.
After running sysic
the variables systemnames, inputvar,
outputvar
and all of the input_to_ListedSubSystemName
will exist in the workspace. Setting the optional variable
cleanupsysic
to 'yes'
will cause these
variables to be removed from the workspace after sysic
has formed the
interconnection.
Examples
A simple system interconnection, identical to the system illustrated in the iconnect
description. Consider a three-input, two-output LTI matrix
T,
which has internal structure
P = rss(3,2,2); K = rss(1,1,2); A = rss(1,1,1); W = rss(1,1,1); systemnames = 'W A K P'; inputvar = '[noise;deltemp;setpoint]'; outputvar = '[57.3*P(1);setpoint-P(2)]'; input_to_W = '[deltemp]'; input_to_A = '[K]'; input_to_K = '[P(2)+noise;setpoint]'; input_to_P = '[W;A]'; cleanupsysic = `yes'; T = sysic; exist(`inputvar')
Limitations
The syntax of sysic
is limited, and for the most part is restricted
to what is shown here. The iconnect
interconnection object can also
be used to define complex interconnections, and has a more flexible syntax.
Within sysic
, error-checking routines monitor the consistency and
availability of the subsystems and their inputs. These routines provide a basic level of
error detection to aid the user in debugging.
Version History
Introduced before R2006a