Set Parameters Using Parameter Configuration File
To specify parameters as variables for analysis, you can use the Parameter Table or define parameter configurations in a MATLAB® code file. You can also export parameter configuration files from the Parameter Table. For more information, see Import and Export Parameter Constraints.
This example shows how to define parameter configurations in a MATLAB code file. For an example that shows how to define these parameter configurations by using the Parameter Table, see Use Parameter Table to Find Constraints.
Template Parameter Configuration File
The Simulink® Design Verifier™ software provides an annotated template that you can use as a starting point:
matlabroot/toolbox/sldv/sldv/sldv_params_template.m
To create a parameter configuration file, make a copy of the template and edit the copy. The comments in the template explain the syntax for defining parameter configurations.
To associate the parameter configuration file with your model before analyzing the model, in the Configuration Parameters dialog box, on the Design Verifier > Parameters and Variants pane, enter the file name in the Parameter configuration file field.
Syntax in Parameter Configuration Files
Specify parameter configurations by using a structure whose fields share the same names as the parameters that you treat as input variables.
For example, suppose you want to constrain the Gain and
Constant value parameters, m
and
b
, which appear in the following model:
The PreLoadFcn
callback function defines m
and b
in the MATLAB workspace when you open the model:
m
is set to 5.b
is aSimulink.Parameter
object of typeint8
whose value is set to 5.
In your parameter configuration file, specify constraints for m
and b
:
params.b = int8([4 10]); params.m = {};
This file specifies:
b
is an 8-bit signed integer from 4 to 10. The constraint type must match the type of the parameterb
in the MATLAB workspace,int8
, in this example.m
is not constrained to any values.
Specify points using the Sldv.Point
constructor, which accepts
a single value as its argument. Specify intervals using the
Sldv.Interval
constructor, which requires two input
arguments, i.e., a lower bound and an upper bound for the interval. Optionally, you
can provide one of the following values as a third input argument that specifies
inclusion or exclusion of the interval endpoints:
'()'
— Defines an open interval.'[]'
— Defines a closed interval.'(]'
— Defines a left-open interval.'[)'
— Defines a right-open interval.
Note
By default, Simulink Design Verifier considers an interval to be closed if you omit this argument.
The following example constrains m
to 3 and
b
to any value in the
closed interval [0, 10]:
params.m = Sldv.Point(3); params.b = Sldv.Interval(0, 10);
If the parameters are scalar, you can omit the constructors and instead specify single values or two-element vectors. For example, you can alternatively specify the previous example as:
params.m = 3; params.b = [0 10];
Note
To indicate no constraint for an input
parameter, specify params.m = {}
or params.m =
[]
. The analysis treats this parameter as free input.
You can specify multiple constraints for a single parameter by using a cell array. In this case, the analysis combines the constraints by using a logical OR operation.
The following example constrains m
to either 3 or 5 and
constrains b
to any value in
the closed interval [0, 10]:
params.m = {3, 5}; params.b = [0 10];
You can specify several sets of parameters by expanding the size of your structure. For example, the following example uses a 1-by-2 structure to define two sets of parameters:
params(1).m = {3, 5}; params(1).b = [0 10]; params(2).m = {12, 15, Sldv.Interval(50, 60, '()')}; params(2).b = 5;
The first parameter set constrains m
to either 3 or 5 and
constrains b
to any value in
the closed interval [0, 10]. The second parameter set constrains
m
to either 12, 15, or
any value in the open interval (50, 60), and
constrains b
to 5.