Method ssm/ssm


  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

Parameter Description

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', '')

back to top back to top

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', '')

back to top back to top

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', '')

back to top back to top

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
  • 1
  • 0
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', '')

back to top back to top

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', '')

back to top back to top

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', '')

back to top back to top

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', '')

back to top back to top

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', '')

back to top back to top

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', '')

back to top back to top

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'}




©LTP Team