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
Identify Initial States Using Option Set
Create an option set for findstates
by configuring a specification object for the initial states.
Identify a fourthorder statespace model from data.
load iddata8 z8; sys = ssest(z8,4);
z8
is an iddata
object containing timedomain system response data. sys
is a fourthorder 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);
Specify Option Set for Initial States Estimation
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 GaussNewton search is used for estimation.
opt = findstatesOptions('InitialState','d','SearchMethod','gna');
Input Arguments
NameValue Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN
, where Name
is
the argument name and Value
is the corresponding value.
Namevalue 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')
InitialState
— Estimation of initial states
'e'
(default)  'd'
 vector or matrix  idpar
object x0Obj
Estimation of initial states, specified as the commaseparated
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 greybox models, only those initial states
i
that 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 theNx
states of theidnlgrey
modelsys
as 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.InitialStates
property of the nonlinear greybox 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 discretetime 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 multiexperiment data, use a matrix withNe
columns, whereNe
is the number of experiments.Use this option for nonlinear models only.
x0obj
— Specification object created usingidpar
. Usex0obj
to impose constraints on the initial states by fixing their value or specifying minimum or maximum bounds.Use
x0obj
only for nonlinear greybox models and linear statespace models (idss
oridgrey
). This option is applicable only for prediction horizon equal to1
orInf
. Seefindstates
for more details about the prediction horizon.
InputOffset
— Removal of offset from timedomain input data during estimation
[]
(default)  vector of positive integers  matrix
Removal of offset from timedomain 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.NubyNe matrix — For multiexperiment data, specify
InputOffset
as an NubyNe 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
— Removal of offset from timedomain output data during estimation
[]
(default)  vector  matrix
Removal of offset from timedomain 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.NybyNe matrix — For multiexperiment data, specify
OutputOffset
as a NybyNe 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
— Weighting of prediction errors when using multioutput data
[]
(default)  'noise'
 matrix
Weighting of prediction errors when using multioutput data,
specified as the commaseparated 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 NybyNy — This weighting minimizestrace(E'*E*W)
for estimation of initial states, whereE
is the matrix of prediction errors.
SearchMethod
— Numerical search method used for iterative parameter estimation
'auto'
(default)  'gn'
 'gna'
 'lm'
 'grad'
 'lsqnonlin'
 'fmincon'
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 GaussNewton leastsquares search Singular
values of the Jacobian matrix less than

'gna'  Adaptive subspace GaussNewton search Eigenvalues
less than 
'lm'  LevenbergMarquardt least squares search Each
parameter value is 
'grad'  Steepest descent leastsquares search 
'lsqnonlin'  Trustregionreflective algorithm of This algorithm requires Optimization Toolbox™ software. 
'fmincon'  Constrained nonlinear solvers You can use the
sequential quadratic programming (SQP) and trustregionreflective
algorithms of the

SearchOptions
— Option set for the search algorithm
search option set
Option set for the search algorithm, specified as the commaseparated
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 lossfunction 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  1e5 
StepTolerance  Termination tolerance on the estimated parameter values, specified as a positive scalar. The value of  1e6 
MaxIterations  Maximum number of iterations during lossfunction minimization, specified as a positive
integer. The iterations stop when The value of
 20 
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.  1e6 
StepTolerance  Termination tolerance on the estimated parameter values, specified as a positive scalar.  1e6 
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
opt
— Option set for findstates
findstatesOptions
option set
Option set for findstates
, returned as
an findstatesOptions
option set.
Version History
Introduced in R2012aR2018a: Renaming of Estimation and Analysis Options
The names of some estimation and analysis options were changed in R2018a. Prior names still work.
See Also
Open Example
You have a modified version of this example. Do you want to open this example with your edits?
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)