findstatesOptions
Option set for findstates
Description
creates
the default option set for opt = findstatesOptionsfindstates. Use dot
notation to customize the option set, if needed.
creates
an option set with options specified by one or more opt = findstatesOptions(Name,Value)Name,Value pair
arguments. The options that you do not specify retain their default
value.
Examples
Create an option set for findstates by configuring a specification object for the initial states.
Identify a fourth-order state-space model from data.
load iddata8 z8; sys = ssest(z8,4);
z8 is an iddata object containing time-domain system response data. sys is a fourth-order idss model that is identified from the data.
Configure a specification object for the initial states of the model.
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 the model.
opt = findstatesOptions; opt.InitialState = x0obj;
Identify the initial states of the model.
x0_estimated = findstates(sys,z8,Inf,opt);
Create an option set for findstates where:
Initial states are estimated such that the norm of prediction error is minimized. The initial values of the states corresponding to nonzero delays are also estimated.
Adaptive subspace Gauss-Newton search is used for estimation.
opt = findstatesOptions('InitialState','d','SearchMethod','gna');
Name-Value Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN, where Name is
the argument name and Value is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.
Before R2021a, use commas to separate each name and value, and enclose
Name in quotes.
Example: findstatesOptions('InitialState','d')
Estimation of initial states, specified as the comma-separated
pair consisting of 'InitialState' and one of the
following:
'e'— The initial states are estimated such that the norm of prediction error is minimized.For nonlinear grey-box models, only those initial states
ithat are designated as free in the model (sys.InitialStates(i).Fixed = false) are estimated. To estimate all the states of the model, first specify all theNxstates of theidnlgreymodelsysas free.for i = 1:Nx sys.InitialStates(i).Fixed = false; end
Similarly, to fix all the initial states to values specified in
sys.InitialStates, first specify all the states as fixed in thesys.InitialStatesproperty of the nonlinear grey-box model.'d'— Similar to'e', but absorbs nonzero delays into the model coefficients. The delays are first converted to explicit model states, and the initial values of those states are also estimated and returned.Use this option for discrete-time linear models only.
Vector or Matrix— Initial guess for state values, when using nonlinear models. Specify a column vector of length equal to the number of states. For multi-experiment data, use a matrix withNecolumns, whereNeis the number of experiments.Use this option for nonlinear models only.
x0obj— Specification object created usingidpar. Usex0objto impose constraints on the initial states by fixing their value or specifying minimum or maximum bounds.Use
x0objonly for nonlinear grey-box models and linear state-space models (idssoridgrey). This option is applicable only for prediction horizon equal to1orInf. Seefindstatesfor more details about the prediction horizon.
Removal of offset from time-domain input data during estimation, specified as one of the following:
A column vector of positive integers of length Nu, where Nu is the number of inputs.
[]— Indicates no offset.Nu-by-Ne matrix — For multi-experiment data, specify
InputOffsetas an 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.
Removal of offset from time-domain output data during estimation, specified as one of the following:
A column vector of length Ny, where Ny is the number of outputs.
[]— Indicates no offset.Ny-by-Ne matrix — For multi-experiment data, specify
OutputOffsetas 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.
Weighting of prediction errors when using multi-output data,
specified as the comma-separated pair consisting of 'OutputWeight' and
one of the following:
[]— No weighting is used. Specifying as[]is the same aseye(Ny), where Ny is the number of outputs.'noise'— Inverse of the noise variance stored with the model is used for weighting during estimation of initial states.Positive semidefinite matrix,
W, of size Ny-by-Ny — This weighting minimizestrace(E'*E*W)for estimation of initial states, whereEis the matrix of prediction errors.
Numerical search method used for iterative parameter estimation, specified as the one of the values in the following table.
SearchMethod | Description |
|---|---|
'auto' | Automatic method selection A combination of the
line search algorithms, |
'gn' | Subspace Gauss-Newton least-squares search Singular
values of the Jacobian matrix less than
|
'gna' | Adaptive subspace Gauss-Newton search Eigenvalues
less than |
'lm' | Levenberg-Marquardt least squares search Each
parameter value is This algorithm requires Optimization Toolbox™ software. |
'grad' | Steepest descent least-squares search |
'lsqnonlin' | Trust-region-reflective algorithm of This algorithm requires Optimization Toolbox software. |
'patternsearch' | Solver for nonlinearities without well-defined gradients You can use the |
'fmincon' | Constrained nonlinear solvers You can use the
sequential quadratic programming (SQP) and trust-region-reflective
algorithms of the
|
Option set for the search algorithm, specified as the comma-separated
pair consisting of 'SearchOptions' and a search
option set with fields that depend on the value of
SearchMethod.
SearchOptions Structure When SearchMethod Is Specified
as 'gn', 'gna', 'lm',
'grad', or 'auto'
| Field Name | Description | Default | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tolerance | Minimum percentage difference between the current value
of the loss function and its expected improvement after the next iteration,
specified as a positive scalar. When the percentage of expected improvement
is less than | 0.01 | ||||||||||||||||||||||||||||||
MaxIterations | Maximum number of iterations during loss-function minimization, specified as a positive
integer. The iterations stop when Setting
Use
| 20 | ||||||||||||||||||||||||||||||
Advanced | Advanced search settings, specified as a structure with the following fields.
| |||||||||||||||||||||||||||||||
SearchOptions Structure When SearchMethod Is Specified
as 'lsqnonlin'
| Field Name | Description | Default |
|---|---|---|
FunctionTolerance | Termination tolerance on the loss function that the software minimizes to determine the estimated parameter values, specified as a positive scalar. The
value of | 1e-5 |
StepTolerance | Termination tolerance on the estimated parameter values, specified as a positive scalar. The value of | 1e-6 |
MaxIterations | Maximum number of iterations during loss-function minimization, specified as a positive
integer. The iterations stop when The value of
| 20 |
SearchOptions Structure When
SearchMethod Is Specified as
'patternsearch'
| Field Name | Description | Default |
|---|---|---|
Algorithm |
For algorithm details, see How Pattern Search Polling Works (Global Optimization Toolbox) and Nonuniform Pattern Search (NUPS) Algorithm (Global Optimization Toolbox). For examples of algorithm effects, see Explore patternsearch Algorithms (Global Optimization Toolbox) and Explore patternsearch Algorithms in Optimize Live Editor Task (Global Optimization Toolbox). | 'nups' |
FunctionTolerance | Termination tolerance on the loss function that the software minimizes to determine the estimated parameter values, specified as a positive scalar. | 1e-6 |
StepTolerance | Termination tolerance on the estimated parameter values, specified as a positive scalar. | 1e-6 |
MaxIterations | Maximum number of iterations during loss
function minimization, specified as a positive
integer. The iterations stop when
| '100*numberOfVariables', where
numberOfVariables is the number of problem
variables |
UseParallel | Option to enable or disable parallel processing for improved performance, specified as a logical scalar. | 0 |
SearchOptions Structure When SearchMethod Is Specified
as 'fmincon'
| Field Name | Description | Default |
|---|---|---|
Algorithm |
For more information about the algorithms, see Constrained Nonlinear Optimization Algorithms (Optimization Toolbox) and Choosing the Algorithm (Optimization Toolbox). | 'sqp' |
FunctionTolerance | Termination tolerance on the loss function that the software minimizes to determine the estimated parameter values, specified as a positive scalar. | 1e-6 |
StepTolerance | Termination tolerance on the estimated parameter values, specified as a positive scalar. | 1e-6 |
MaxIterations | Maximum number of iterations during loss function minimization, specified as a positive
integer. The iterations stop when | 100 |
To specify field values in SearchOptions, create a
default findstatesOptions set and modify the fields
using dot notation. Any fields that you do not modify retain their
default values.
opt = findstatesOptions; opt.SearchOptions.Tolerance = 0.02; opt.SearchOptions.Advanced.MaxBisections = 30;
Output Arguments
Option set for findstates, returned as
an findstatesOptions option set.
Version History
Introduced in R2012aYou can now set the SearchMethod property to
'patternsearch' to estimate a system that has a nonlinearity without a
well-defined gradient. You can change the default option set for this search algorithm using the
SearchOptions property. This method requires Global Optimization Toolbox software.
The names of some estimation and analysis options were changed in R2018a. Prior names still work.
See Also
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)