tunableSS
Tunable fixedorder statespace model
Syntax
blk = tunableSS(name,Nx,Ny,Nu)
blk = tunableSS(name,Nx,Ny,Nu,Ts)
blk = tunableSS(name,sys)
blk = tunableSS(...,Astruct)
Description
Model object for creating tunable fixedorder statespace models. tunableSS
lets
you parametrize a statespace model of a given order for parameter
studies or for automatic tuning with tuning commands such as systune
or looptune
.
tunableSS
is part of the Control
Design Block family of parametric models. Other Control Design
Blocks include tunablePID
, tunableGain
, and tunableTF
.
Construction
creates
the continuoustime parametric statespace model named blk
= tunableSS(name
,Nx
,Ny
,Nu
)name
.
The statespace model blk
has Nx
states,Ny
outputs,
and Nu
inputs. The tunable parameters are the
entries in the A, B, C,
and D matrices of the statespace model.
creates
a discretetime parametric statespace model with sample time blk
= tunableSS(name
,Nx
,Ny
,Nu
,Ts
)Ts
.
uses
the dynamic system blk
= tunableSS(name
,sys
)sys
to dimension the parametric
statespace model, set its sample time, and initialize the tunable
parameters.
creates
a parametric statespace model whose blk
= tunableSS(...,Astruct
)A
matrix is
restricted to the structure specified in Astruct
.
Input Arguments

Parametric statespace model  

Nonnegative integer specifying the number of states (order)
of the parametric statespace model  

Nonnegative integer specifying the number of outputs of the
parametric statespace model  

Nonnegative integer specifying the number of inputs of the parametric
statespace model  

Scalar sample time.  

Constraints on the form of the
If you do not specify  

Dynamic system model providing number of states, number of inputs
and outputs, sample time, and initial values of the parameters of 
Properties

Parametrization of the statespace matrices A, B, C,
and D of the tunable statespace model
The following fields of
 

State names, specified as one of the following:
Default:  

State units, specified as one of the following:
Use Default:  

Sample time. For continuoustime models, Changing this property does not discretize or resample the model. Default:  

Units for the time variable, the sample time
Changing this property has no effect on other properties, and
therefore changes the overall system behavior. Use Default:  

Input channel names, specified as one of the following:
Alternatively, use automatic vector expansion to assign input
names for multiinput models. For example, if sys.InputName = 'controls'; The input names automatically expand to You can use the shorthand notation Input channel names have several uses, including:
Default:  

Input channel units, specified as one of the following:
Use Default:  

Input channel groups. The sys.InputGroup.controls = [1 2]; sys.InputGroup.noise = [3 5]; creates input groups named sys(:,'controls') Default: Struct with no fields  

Output channel names, specified as one of the following:
Alternatively, use automatic vector expansion to assign output
names for multioutput models. For example, if sys.OutputName = 'measurements'; The output names automatically expand to You can use the shorthand notation Output channel names have several uses, including:
Default:  

Output channel units, specified as one of the following:
Use Default:  

Output channel groups. The sys.OutputGroup.temperature = [1]; sys.InputGroup.measurement = [3 5]; creates output groups named sys('measurement',:) Default: Struct with no fields  

System name, specified as a character vector. For example, Default:  

Any text that you want to associate with the system, stored as a string or a cell array of
character vectors. The property stores whichever data type you
provide. For instance, if sys1.Notes = "sys1 has a string."; sys2.Notes = 'sys2 has a character vector.'; sys1.Notes sys2.Notes ans = "sys1 has a string." ans = 'sys2 has a character vector.' Default:  

Any type of data you want to associate with system, specified as any MATLAB^{®} data type. Default: 
Examples
Create a parametrized 5thorder SISO model with zero D
matrix.
blk = tunableSS('ssblock',5,1,1); blk.D.Value = 0; % set D = 0 blk.D.Free = false; % fix D to zero
By default, the A
matrix is in tridiagonal
form. To parametrize the model in companion form, use the 'companion'
input
argument:
blk = tunableSS('ssblock',5,1,1,'companion'); blk.D.Value = 0; % set D = 0 blk.D.Free = false; % fix D to zero
Create a parametric statespace model, and assign names to the inputs.
blk = tunableSS('ssblock',5,2,2) % 5 states, 2 outputs, 2 inputs blk.InputName = {'Xerror','Yerror'} % assign input names
Tips
Use the
Astruct
input argument to constrain the structure of theA
matrix of the parametric statespace model. To impose additional structure constrains on the statespace matrices, use the fieldsblk.A.Free
,blk.B.Free
,blk.C.Free
, andblk.D.Free
to fix the values of specific entries in the parameter matrices.For example, to fix the value of
blk.B(i,j)
, setblk.B.Free(i,j) = 0
. To allowhinfstruct
(Robust Control Toolbox) to tuneblk.B(i,j)
, setblk.B.Free(i,j) = 1
.To convert a
tunableSS
parametric model to a numeric (nontunable) model object, use model commands such asss
,tf
, orzpk
.
Compatibility Considerations
See Also
tunablePID
 tunablePID2
 tunableGain
 tunableTF
 systune
 looptune
 genss
 hinfstruct
(Robust Control Toolbox)