Set options for finding operating points from specifications
returns
an option set with additional options specified by one or more options
= findopOptions(Name,Value
)Name,Value
pair
arguments. Use this option set to specify options for the findop
command.
Create an option set for operating point search that sets the optimizer type to gradient descent and suppresses the display output of findop
.
option = findopOptions('OptimizerType','graddescent','DisplayReport','off');
Alternatively, use dot notation to set the values of options
.
options = findopOptions; options.OptimizerType = 'graddescent'; options.DisplayReport = 'off';
Specify optional
comma-separated pairs of Name,Value
arguments. Name
is
the argument name and Value
is the corresponding value.
Name
must appear inside quotes. You can specify several name and value
pair arguments in any order as
Name1,Value1,...,NameN,ValueN
.
'DisplayReport','off'
suppresses
the display of the operating point search report to the Command Window.'OptimizerType'
— Optimizer type used by the optimization algorithm'graddescent-elim'
(default) | 'graddescent'
| 'graddescent-proj'
| 'lsqnonlin'
| 'lsqnonlin-proj'
| 'simplex'
Optimizer type used by the optimization algorithm, specified
as the comma-separated pair consisting of 'OptimizerType'
and
one of the following:
'graddescent-elim'
— Enforce an equality constraint to force the time
derivatives of states to be zero (dx/dt = 0
,
x(k+1) = x(k)
) and output signals to be
equal to their specified known values. The optimizer fixes the
states, x
, and inputs, u
,
that are marked as Known
in an operating
point specification, and optimizes the remaining
variables.
'graddescent'
— Enforce an equality constraint to force the time
derivatives of states to be zero (dx/dt = 0
,
x(k+1) = x(k)
) and the output signals to
be equal to their specified known values. The optimizer also
minimizes the error between the states, x
,
and inputs, u
, and their respective known
values from an operating point specification. If there are not
any inputs or states marked as Known
,
findop
attempts to minimize the
deviation between the initial guesses for x
and u
, and their trimmed values.
'graddescent-proj'
— In addition to
'graddescent'
, enforce consistency of
model initial conditions at each function evaluation. To specify
whether constraints are hard or soft, use the
ConstraintType
option. This
optimization method does not support analytical
Jacobians.
'lsqnonlin'
— Fix the states, x
, and inputs,
u
, marked as Known
in
an operating point specification, and optimize the remaining
variables. The algorithm tries to minimize both the error in the
time derivatives of the states (dx/dt = 0
,
x(k+1) = x(k)
) and the error between the
outputs and their specified known values.
'lsqnonlin-proj'
— In addition to
'lsqnonlin'
, enforce consistency of model
initial conditions at each function evaluation. This
optimization method does not support analytical
Jacobians.
'simplex'
— Use the same cost function as lsqnonlin
with the direct search optimization routine found in
fminsearch
.
For more information about these optimization algorithms, see fmincon
(Optimization Toolbox), lsqnonlin
(Optimization Toolbox),
and fminsearch
(Optimization Toolbox).
'OptimizationOptions'
— Options for the optimization algorithmOptions for the optimization algorithm, specified as the comma-separated
pair consisting of 'OptimizationOptions'
and a
structure created using the optimset
(Optimization Toolbox) function.
'DisplayReport'
— Flag indicating whether to display the operating summary report'on'
(default) | 'off'
| 'iter'
Flag indicating whether to display the operating point summary
report, specified as the comma-separated pair consisting of 'DisplayReport'
and
one of the following:
'on'
— Display the operating point summary report in the MATLAB® command window when running
findop
.
'off'
— Suppress display of the summary report.
'iter'
— Display an iterative update of the optimization progress.
'AreParamsTunable'
— Flag indicating whether to recompile the model when varying parameter valuestrue
(default) | false
Flag indicating whether to recompile the model when varying
parameter values for trimming, specified as the comma-separated pair
consisting of 'AreParamsTunable'
and one of the
following:
true
— Do not recompile the model when all varying parameters are tunable.
If any varying parameters are not tunable, recompile the model
for each parameter grid point, and issue a warning
message.
false
— Recompile the model for each parameter grid point. Use this option
when you vary the values of nontunable parameters.
'ConstraintType'
— Constraint types for 'graddescent-proj'
Constraint types for 'graddescent-proj'
optimizer
algorithm, specified as the comma-separated pair consisting of
'ConstraintType'
and a structure with the
following fields:
dx
— Type for constraints on state
derivatives
x
— Type for constraints on state
values
y
— Type for constraints on output
values
Specify each constraint as one of the following:
'hard'
— Enforce the constraints to be
zero.
'soft'
— Minimize the constraints.
All constraint types are 'hard'
by default.
options
— Trimming optionsfindopOptions
option setTrimming options, returned as a findopOptions
option
set.
'graddescent_elim'
value of the Optimizer
property is now 'graddescent-elim'
Behavior changed in R2017b
The 'graddescent_elim'
value of the
Optimizer
property of a findopOptions
object is now 'graddescent-elim'
.
To update your code, change the optimizer value from
graddescent_elim
to
graddescent-elim
. The following table shows the typical
usage of this property value and how to update your code.
If your code has this form: | Use this code instead: |
---|---|
opt = findopOptions('Optimizer',... 'graddescent_elim'); |
opt = findopOptions('Optimizer',... 'graddescent-elim') |
opt = findopOptions; opt.Optimizer = 'graddescent_elim'; |
opt = findopOptions; opt.Optimizer = 'graddescent-elim'; |
You have a modified version of this example. Do you want to open this example with your edits?