tunableSS
Tunable fixed-order state-space 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 fixed-order state-space models. tunableSS
lets
you parametrize a state-space 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 continuous-time parametric state-space model named blk
= tunableSS(name
,Nx
,Ny
,Nu
)name
.
The state-space 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 state-space model.
creates
a discrete-time parametric state-space 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
state-space model, set its sample time, and initialize the tunable
parameters.
creates
a parametric state-space model whose blk
= tunableSS(...,Astruct
)A
matrix is
restricted to the structure specified in Astruct
.
Input Arguments
|
Parametric state-space model | ||||||||
|
Nonnegative integer specifying the number of states (order)
of the parametric state-space model | ||||||||
|
Nonnegative integer specifying the number of outputs of the
parametric state-space model | ||||||||
|
Nonnegative integer specifying the number of inputs of the parametric
state-space 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 state-space matrices A, B, C,
and D of the tunable state-space 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 continuous-time 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 multi-input 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 multi-output 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.OutputGroup.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 5th-order 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 state-space 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 state-space model. To impose additional structure constrains on the state-space 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 (non-tunable) model object, use model commands such asss
,tf
, orzpk
.
Version History
Introduced in R2016aSee Also
tunablePID
| tunablePID2
| tunableGain
| tunableTF
| systune
| looptune
| genss
| hinfstruct
(Robust Control Toolbox)