Next: structintern, Previous: zp2sys, Up: sysinterface

— 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 outputiiis discrete. yd(ii) = 0 if outputiiis continous

— Function File: [`stname`, `inname`, `outname`, `yd`] = **sysgetsignals** (`sys`)

— Function File:`siglist` = **sysgetsignals** (`sys, sigid`)

— Function File:`signame` = **sysgetsignals** (`sys, sigid, signum, strflg`)

— Function File:

— Function File:

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
ydsignum- 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
sigidis not specified:

stnameinnameoutname- signal names (cell array of strings); names of states, inputs, and outputs, respectively.
yd- binary vector;
yd(ii) is nonzero if outputiiis discrete.- •If
sigidis specified butsignumis not specified:

`sigid="in"`

siglistis set to the cell array of input names.`sigid="out"`

siglistis set to the cell array of output names.`sigid="st"`

siglistis set to the cell array of state names.stage signals

`sigid="yd"`

siglistis set to logical vector indicating discrete outputs;siglist(ii) = 0 indicates that outputiiis continuous (unsampled), otherwise it is discrete.- •If the first three input arguments are specified:
signameis a cell array of the specified signal names (sigidis`"in"`

,`"out"`

, or`"st"`

), or else the logical flag indicating whether output(s)signumis(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

retsyssyswith appropriate signal names changed (orydvalues, where appropriate).

Exampleoctave: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
sysis already up to date thenretsys=sys.Conversion to

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

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