LTPDA Toolbox™ | contents | ![]() ![]() |
SSM statespace model class constructor. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DESCRIPTION: SSM statespace model class constructor. CONSTRUCTORS: s = ssm() - creates an empty statespace model s = ssm('a1.xml') - creates a new statespace model by loading the object from disk. s = ssm('a1.mat') - creates a new statespace model by loading the object from disk. a = ssm(plist) - creates a statespace model from the description given in the parameter list a = ssm(struct) - creates a statespace model from the structure returned by struct(ssm). EXAMPLES: 1) Construct an SSM object by description: name = 'sys'; statenames = {'ss1' 'ss2' 'ss3'}; inputnames = {'input1' 'input2' 'input3'}; outputnames = {'output1' 'output2' 'output3'}; timestep = 0; params = plist({'omega', 'system frequency'}, 2); amats = cell(3, 3); bmats = cell(3, 3); cmats = cell(3, 3); dmats = cell(3, 3); amats{1, 1} = -(sym('omega')); amats{2, 2} = -2; amats{3, 3} = -3*eye(2); amats{3, 1} = [-1;-3]; bmats{1, 1} = 1; bmats{2, 2} = 2; bmats{3, 3} = 3*eye(2); cmats{1, 1} = 1; cmats{2, 2} = 1; cmats{3, 3} = eye(2); dmats{1, 3} = [6 6]; dmats{2, 1} = 6; dmats{3, 2} = [6;6]; sys = ssm(plist( ... 'amats', amats, 'bmats', bmats, 'cmats', cmats, 'dmats', dmats, ... 'timestep', timestep, 'name', name, 'params', params, ... 'statenames', statenames, 'inputnames', inputnames, 'outputnames', outputnames )); A shortcut (incomplete) syntax is : sys = ssm( amats, bmats, cmats, dmats, timestep, name, params, ... statenames, inputnames, outputnames ) Also : sys = ssm(miirObject); sys = ssm(rationalObject); sys = ssm(parfracObject); More complete call % here computation of the system's matrices, declaration % of parameters, some symbolic may be stored in the user % plist sys = struct SMD_W = 0.2; SMD_C = 0.5; SMD_S1 = 0; SMD_S2 = 0; SMD_B = 1; SMD_D1 = 0; sys.params = plist; sys.amats = {[0 1 ; -SMD_W*SMD_W -2*SMD_C*SMD_W]}; sys.cmats = {[1+SMD_S1 SMD_S2]}; sys.bmats = {[0;SMD_B] [0 0; 1 0]}; sys.dmats = {SMD_D1 [0 1]}; sys.timestep = 0; sys.name = 'SRPINGMASSDAMPER'; sys.description = 'standard spring-mass-damper test system'; inputnames = {'CMD' 'DIST_SMD'}; inputdescription = {'force noise' 'observation noise'}; inputvarnames = {{'F'} {'F' 'S'}}; inputvarunits = {unit('kg m s^-2') [unit('kg m s^-2') unit('m')]}; inputvardescription = []; ssnames = {'SMD'}; ssdescription = {'TM position and speed'}; ssvarnames = {{'x' 'xdot'}}; ssvarunits={[unit('m') unit('m s^-1')]}; ssvardescription = []; outputnames = {'SMD'}; outputdescription = {'observed position'}; outputvarnames ={{'OBS'}}; outputvarunits={unit('m')}; outputvardescription = []; %% Build ssmblocks sys.inputs = ssmblock.makeBlocksWithData(inputnames, inputdescription, inputvarnames, inputvarunits, inputvardescription); sys.outputs = ssmblock.makeBlocksWithData(outputnames, outputdescription, outputvarnames, outputvarunits, outputvardescription); sys.states = ssmblock.makeBlocksWithData(ssnames, ssdescription, ssvarnames, ssvarunits, ssvardescription); %% plist constructors sys = ssm(plist( ... 'amats',sys.amats, 'bmats', sys.bmats, 'cmats', sys.cmats, 'dmats', sys.dmats, ... 'timestep', 0, 'name', sys.name, 'inputs', sys.inputs, ... 'states', sys.states, 'outputs', sys.outputs)); Parameters Description %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Method Details | |
---|---|
Access | public |
Defining Class | ssm |
Sealed | 0 |
Static | 0 |
Sets for this method … |
---|
Default |
From MAT File |
From XML File |
From Repository |
From Built-in Model |
From Description |
From Pzmodel |
From Miir |
From Rational |
Default |
|||
---|---|---|---|
no description | |||
Key | Default Value | Options | Description |
ssm.buildplist | |||
STATES | none | State space blocks. | |
OUTPUTS | none | Output blocks. | |
INPUTS | none | Input blocks. | |
TIMESTEP | 0 | none | Timestep of the difference equation. Zero means the representation is time continuous |
AMATS | {} [0x0] | none | A matrix representing a difference/differential term in the state equation.Specify as a cell-array of matrices. |
BMATS | {} [0x0] | none | B matrix representing an input coefficient matrix in the state equation.Specify as a cell-array of matrices. |
CMATS | {} [0x0] | none | C matrix representing the state projection in the observation equation.Specify as a cell-array of matrices. |
DMATS | {} [0x0] | none | D matrix representing the direct feed through term in the observation equation.Specify as a cell-array of matrices. |
PARAMS | (empty-plist) | none | Parameter data arrays. |
ltpda_uoh.addGlobalKeys | |||
NAME | '' | none | The name of the constructed object. |
DESCRIPTION | '' | none | The description of the constructed object. |
Example |
---|
plist('STATES', [ ], 'OUTPUTS', [ ], 'INPUTS', [ ], 'TIMESTEP', [0], 'AMATS', cell(0,0), 'BMATS', cell(0,0), 'CMATS', cell(0,0), 'DMATS', cell(0,0), 'PARAMS', plist(), 'NAME', '', 'DESCRIPTION', '') |
From MAT File |
|||
---|---|---|---|
no description | |||
Key | Default Value | Options | Description |
ltpda_uo.buildplist | |||
FILENAME | '' | none | MAT filename. |
ltpda_uoh.addGlobalKeys | |||
NAME | '' | none | The name of the constructed object. |
DESCRIPTION | '' | none | The description of the constructed object. |
Example |
---|
plist('FILENAME', '', 'NAME', '', 'DESCRIPTION', '') |
From XML File |
|||
---|---|---|---|
no description | |||
Key | Default Value | Options | Description |
ltpda_uo.buildplist | |||
FILENAME | '' | none | XML filename. |
ltpda_uoh.addGlobalKeys | |||
NAME | '' | none | The name of the constructed object. |
DESCRIPTION | '' | none | The description of the constructed object. |
Example |
---|
plist('FILENAME', '', 'NAME', '', 'DESCRIPTION', '') |
From Repository |
|||
---|---|---|---|
no description | |||
Key | Default Value | Options | Description |
ltpda_uo.buildplist | |||
HOSTNAME | '' | none | Database server hostname. |
DATABASE | '' | none | Database name. |
USERNAME | '' | none | User name to use when connecting to the database. Leave blank to be prompted. |
PASSWORD | {} [0x0] | none | Password to use when connecting to the database. Leave blank to be prompted. |
CONN | [] | none | Java mysql object. |
ID, IDS | [] | none | A vector of object IDs. |
CID | [] | none | A vector of collection IDs. |
UUID, UUIDS | {} [0x0] | none | A cell array of UUIDs. |
BINARY | 1 |
|
Use binary representation (not always available). |
ltpda_uoh.addGlobalKeys | |||
NAME | '' | none | The name of the constructed object. |
DESCRIPTION | '' | none | The description of the constructed object. |
Example |
---|
plist('HOSTNAME', '', 'DATABASE', '', 'USERNAME', '', 'PASSWORD', cell(0,0), 'CONN', [[]], 'ID', [[]], 'CID', [[]], 'UUID', cell(0,0), 'BINARY', [true], 'NAME', '', 'DESCRIPTION', '') |
From Built-in Model |
|||
---|---|---|---|
no description | |||
Key | Default Value | Options | Description |
ltpda_uo.buildplist | |||
BUILT-IN | '' | none | Choose one of the built-in models. (use class.getBuiltInModels to get a list for a particular user class) |
VERSION | [] | none | Version of the built in model. The default version is used for the case that no 'Version' is defined. |
ssm.buildplist | |||
SYMBOLIC PARAMS | {} [0x0] | none | Give a cell-array of parameter names to keep in the expression. By default this is empty and the model will be returned fully numeric.You can also specify 'ALL' to keep all parameters. Some models don't support thisoption; see the specific help of the models for details. |
PARAM NAMES | {} [0x0] | none | Cell-array of parameter names for user defined values. This way, parameter values can be modified even if they are never used symbolically. |
PARAM VALUES | [] | none | Array of parameter values for numerical substitutions. |
ltpda_uoh.addGlobalKeys | |||
NAME | '' | none | The name of the constructed object. |
DESCRIPTION | '' | none | The description of the constructed object. |
Example |
---|
plist('BUILT-IN', '', 'VERSION', [[]], 'SYMBOLIC PARAMS', cell(0,0), 'PARAM NAMES', cell(0,0), 'PARAM VALUES', [[]], 'NAME', '', 'DESCRIPTION', '') |
From Description |
|||
---|---|---|---|
no description | |||
Key | Default Value | Options | Description |
ssm.buildplist | |||
STATES | none | State space blocks. | |
OUTPUTS | none | Output blocks. | |
INPUTS | none | Input blocks. | |
TIMESTEP | 0 | none | Timestep of the difference equation. Zero means the representation is time continuous |
AMATS | {} [0x0] | none | A matrix representing a difference/differential term in the state equation.Specify as a cell-array of matrices. |
BMATS | {} [0x0] | none | B matrix representing an input coefficient matrix in the state equation.Specify as a cell-array of matrices. |
CMATS | {} [0x0] | none | C matrix representing the state projection in the observation equation.Specify as a cell-array of matrices. |
DMATS | {} [0x0] | none | D matrix representing the direct feed through term in the observation equation.Specify as a cell-array of matrices. |
PARAMS | (empty-plist) | none | Parameter data arrays. |
ltpda_uoh.addGlobalKeys | |||
NAME | '' | none | The name of the constructed object. |
DESCRIPTION | '' | none | The description of the constructed object. |
Example |
---|
plist('STATES', [ ], 'OUTPUTS', [ ], 'INPUTS', [ ], 'TIMESTEP', [0], 'AMATS', cell(0,0), 'BMATS', cell(0,0), 'CMATS', cell(0,0), 'DMATS', cell(0,0), 'PARAMS', plist(), 'NAME', '', 'DESCRIPTION', '') |
From Pzmodel |
|||
---|---|---|---|
no description | |||
Key | Default Value | Options | Description |
ssm.buildplist | |||
PZMODEL | pzmodel(g:no gain p:no pole z:no zero) | none | A pole/zero model object. |
ltpda_uoh.addGlobalKeys | |||
NAME | '' | none | The name of the constructed object. |
DESCRIPTION | '' | none | The description of the constructed object. |
Example |
---|
plist('PZMODEL', [pzmodel()], 'NAME', '', 'DESCRIPTION', '') |
From Miir |
|||
---|---|---|---|
no description | |||
Key | Default Value | Options | Description |
ssm.buildplist | |||
MIIR | (fs=, ntaps=0.00, a=[], b=[]) | none | An IIR filter object (MIIR). |
ltpda_uoh.addGlobalKeys | |||
NAME | '' | none | The name of the constructed object. |
DESCRIPTION | '' | none | The description of the constructed object. |
Example |
---|
plist('MIIR', miir([plist('NAME', '', 'DESCRIPTION', '')]), 'NAME', '', 'DESCRIPTION', '') |
From Rational |
|||
---|---|---|---|
no description | |||
Key | Default Value | Options | Description |
ssm.buildplist | |||
RATIONAL | rational() | none | A rational (transfer function) model object. |
ltpda_uoh.addGlobalKeys | |||
NAME | '' | none | The name of the constructed object. |
DESCRIPTION | '' | none | The description of the constructed object. |
Example |
---|
plist('RATIONAL', rational([plist('NAME', '', 'DESCRIPTION', '')]), 'NAME', '', 'DESCRIPTION', '') |
Some information of the method ssm/ssm are listed below: | |
---|---|
Class name | ssm |
Method name | ssm |
Category | Constructor |
Package name | ltpda |
VCS Version | 967b0eec0dece803a81af8ef54ad2f8c784b20b2 |
Min input args | 0 |
Max input args | -1 |
Min output args | 1 |
Max output args | 1 |
Can be used as modifier | 0 |
Supported numeric types | {'double'} |
![]() |
Method: ssm/rebuild | Method: ssm/ssm2miir | ![]() |
©LTP Team