findstatesOptions

Option set for findstates

Syntax

opt = findstatesOptions
opt = findstatesOptions(Name,Value)

Description

opt = findstatesOptions creates the default options set for findstates(idParametric).

opt = findstatesOptions(Name,Value) creates an option set with the options specified by one or more Name,Value pair arguments.

Input Arguments

expand all

Name-Value Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside single quotes (' '). You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

'InitialState'

Specify how the initial states are handled.

InitialState requires one of the following:

  • 'e' — Estimate initial state such that the prediction error for observed output is minimized.

  • 'd' — Similar to 'e', but absorbs nonzero delays into the model coefficients. Use this option for discrete-time models only.

  • x0obj — Specification object created using idpar. Use this object for discrete-time state-space models only and when K is 1 or Inf. Use x0obj to impose constraints on the initial states by fixing their value or specifying minimum/maximum bounds.

'InputOffset' — Remove offset from time-domain input data during estimation[] (default) | vector of positive integers

Removes offset from time-domain input data during estimation, specified as a vector of positive integers.

Specify as a column vector of length Nu, where Nu is the number of inputs.

Use [] to indicate no offset.

For multiexperiment data, specify InputOffset as a Nu-by-Ne matrix. Nu is the number of inputs, and Ne is the number of experiments.

Each entry specified by InputOffset is subtracted from the corresponding input data.

'OutputOffset' — Remove offset from time-domain output data during estimation[] (default) | vector

Removes offset from time domain output data during estimation, specified as a vector of positive integers or [].

Specify as a column vector of length Ny, where Ny is the number of outputs.

Use [] to indicate no offset.

For multiexperiment data, specify OutputOffset as a Ny-by-Ne matrix. Ny is the number of outputs, and Ne is the number of experiments.

Each entry specified by OutputOffset is subtracted from the corresponding output data.

'OutputWeight'

Weight of output for initial condition estimation.

OutputWeight requires one of the following:

  • [] — No weighting is used. This option is the same as using eye(Ny) for the output weight, where Ny is the number of outputs.

  • 'noise' — Inverse of the noise variance stored with the model.

  • Matrix — A positive, semidefinite matrix of dimension Ny-by-Ny, where Ny is the number of outputs.

Output Arguments

opt

Option set containing the specified options for findstates(idParametric).

Examples

expand all

Identify Initial States using Options Set

Create an options set for findstates(idParametric) by using an initial state specification object.

Identify a state-space model from data.

load iddata8 z8;
ssest_opt = ssestOptions('Focus','simulation');
sys = ssest(z8,4,ssest_opt);

z8 is an iddata object containing time-domain system response data.

ssest_opt specifies the 'Focus' option for state-space estimation as 'simulation'.

sys is a fourth-order idss model that is identified from the data.

Configure a specification object for the initial states of sys.

x0obj = idpar([1;nan(3,1)]);
x0obj.Free(1) = false;
x0obj.Minimum(2) = 0;
x0obj.Maximum(2) = 1;

x0obj specifies estimation constraints on the initial conditions.

The value of the first state is specified as 1 when x0obj is created. x0obj.Free(1) = false specifies the first initial state as a fixed estimation parameter.

The second state is unknown. But, x0obj.Minimum(2) = 0 and x0obj.Maximum(2) = 1 specify the lower and upper bounds of the second state as 0 and 1, respectively.

Create an option set for findstates to identify the initial states of sys.

opt = findstatesOptions('InitialState',x0obj);

Alternatively, use dot notation to set the values of opt.

opt = findstatesOptions;
opt.InitialState = x0obj;

Identify the initial states of sys.

x0_estimated = findstates(sys,z8,Inf,opt);
Was this topic helpful?