Next: , Previous: zp2sys, Up: sysinterface


29.2.5 Data structure access functions

— Function File: syschnames (sys, opt, list, names)

Superseded by syssetsignals.

— Function File: syschtsam (sys, tsam)

This function changes the sampling time (tsam) of the system. Exits with an error if sys is purely continuous time.

— Function File: [n, nz, m, p, yd] = sysdimensions (sys, opt)

return the number of states, inputs, and/or outputs in the system sys.

Inputs

sys
system data structure
opt
String indicating which dimensions are desired. Values:
"all"
(default) return all parameters as specified under Outputs below.
"cst"
return n= number of continuous states
"dst"
return n= number of discrete states
"in"
return n= number of inputs
"out"
return n= number of outputs

Outputs

n
number of continuous states (or individual requested dimension as specified by opt).
nz
number of discrete states
m
number of system inputs
p
number of system outputs
yd
binary vector; yd(ii) is nonzero if output ii is discrete. yd(ii) = 0 if output ii is continous

— Function File: [stname, inname, outname, yd] = sysgetsignals (sys)
— Function File: siglist = sysgetsignals (sys, sigid)
— Function File: signame = sysgetsignals (sys, sigid, signum, strflg)

Get signal names from a system

Inputs

sys
system data structure for the state space system
sigid
signal id. String. Must be one of
"in"
input signals
"out"
output signals
"st"
stage signals
"yd"
value of logical vector yd

signum
index(indices) or name(s) or signals; see sysidx
strflg
flag to return a string instead of a cell array; Values:
0
(default) return a cell array (even if signum specifies an individual signal)
1
return a string. Exits with an error if signum does not specify an individual signal.

Outputs

•If sigid is not specified:
stname
inname
outname
signal names (cell array of strings); names of states, inputs, and outputs, respectively.
yd
binary vector; yd(ii) is nonzero if output ii is discrete.

•If sigid is specified but signum is not specified:
sigid="in"
siglist is set to the cell array of input names.
sigid="out"
siglist is set to the cell array of output names.
sigid="st"
siglist is set to the cell array of state names.

stage signals

sigid="yd"
siglist is set to logical vector indicating discrete outputs; siglist(ii) = 0 indicates that output ii is continuous (unsampled), otherwise it is discrete.

•If the first three input arguments are specified:
signame is a cell array of the specified signal names (sigid is "in", "out", or "st"), or else the logical flag indicating whether output(s) signum is(are) discrete (sigval=1) or continuous (sigval=0).

Examples (From sysrepdemo)

          octave> sys=ss(rand(4),rand(4,2),rand(3,4));
          octave># get all signal names
          octave> [Ast,Ain,Aout,Ayd] = sysgetsignals(sys)
          Ast =
          (
            [1] = x_1
            [2] = x_2
            [3] = x_3
            [4] = x_4
          )
          Ain =
          (
            [1] = u_1
            [2] = u_2
          )
          Aout =
          (
            [1] = y_1
            [2] = y_2
            [3] = y_3
          )
          Ayd =
          
            0  0  0
          octave> # get only input signal names:
          octave> Ain = sysgetsignals(sys,"in")
          Ain =
          (
            [1] = u_1
            [2] = u_2
          )
          octave> # get name of output 2 (in cell array):
          octave> Aout = sysgetsignals(sys,"out",2)
          Aout =
          (
            [1] = y_2
          )
          octave> # get name of output 2 (as string):
          octave> Aout = sysgetsignals(sys,"out",2,1)
          Aout = y_2
     

— Function File: sysgettype (sys)

return the initial system type of the system

Input

sys
System data structure.

Output

systype
String indicating how the structure was initially constructed. Values: "ss", "zp", or "tf".

FIR initialized systems return systype="tf".

— Function File: syssetsignals (sys, opt, names, sig_idx)

change the names of selected inputs, outputs and states.

Inputs

sys
System data structure.
opt
Change default name (output).
"out"
Change selected output names.
"in"
Change selected input names.
"st"
Change selected state names.
"yd"
Change selected outputs from discrete to continuous or from continuous to discrete.

names
opt = "out", "in", "st"
string or string array containing desired signal names or values.
opt = "yd"
To desired output continuous/discrete flag. Set name to 0 for continuous, or 1 for discrete.

sig_idx
indices or names of outputs, yd, inputs, or states whose respective names/values should be changed.

Default: replace entire cell array of names/entire yd vector.

Outputs

retsys
sys with appropriate signal names changed (or yd values, where appropriate).

Example

          octave:1> sys=ss([1 2; 3 4],[5;6],[7 8]);
          octave:2> sys = syssetsignals(sys,"st",str2mat("Posx","Velx"));
          octave:3> sysout(sys)
          Input(s)
                  1: u_1
          Output(s):
                  1: y_1
          state-space form:
          2 continuous states, 0 discrete states
          State(s):
                  1: Posx
                  2: Velx
          A matrix: 2 x 2
            1  2
            3  4
          B matrix: 2 x 1
            5
            6
          C matrix: 1 x 2
            7  8
          D matrix: 1 x 1
          0
     

— Function File: sysupdate (sys, opt)

Update the internal representation of a system.

Inputs

sys:
system data structure
opt
string:
"tf"
update transfer function form
"zp"
update zero-pole form
"ss"
update state space form
"all"
all of the above

Outputs

retsys
Contains union of data in sys and requested data. If requested data in sys is already up to date then retsys=sys.

Conversion to tf or zp exits with an error if the system is mixed continuous/digital.

— Function File: [systype, nout, nin, ncstates, ndstates] = minfo (inmat)

Determines the type of system matrix. inmat can be a varying, a system, a constant, and an empty matrix.

Outputs

systype
Can be one of: varying, system, constant, and empty.
nout
The number of outputs of the system.
nin
The number of inputs of the system.
ncstates
The number of continuous states of the system.
ndstates
The number of discrete states of the system.

— Function File: sysgettsam (sys)

Return the sampling time of the system sys.