使用参数配置文件设置参数
要将参数指定为分析变量,您可以使用参数表或在 MATLAB® 代码文件中定义参数配置。您也可以从参数表中导出参数配置文件。有关详细信息,请参阅导入和导出参数约束。
此示例说明如何在 MATLAB 代码文件中定义参数配置。有关说明如何使用参数表定义这些参数配置的示例,请参阅使用参数表查找约束。
参数配置模板文件
Simulink® Design Verifier™ 软件提供了一个带注解的模板,您可以将其用作起点:
matlabroot/toolbox/sldv/sldv/sldv_params_template.m
要创建参数配置文件,请复制该模板并进行编辑。模板中的注释解释了定义参数配置的语法。
要在分析模型之前将参数配置文件与模型关联,请在“配置参数”对话框的 Design Verifier > 参数和变体窗格中,在参数配置文件字段中输入文件名。
参数配置文件中的语法
使用结构体来指定参数配置,该结构体的字段名称与您视为输入变量的参数名称相同。
例如,假设您要约束增益和常数值参数 m 和 b,它们出现在以下模型中:

当您打开模型时,PreLoadFcn 回调函数会在 MATLAB 工作区中定义 m 和 b:
m设置为 5。b是int8类型的Simulink.Parameter对象,其值设置为 5。

在参数配置文件中,指定 m 和 b 的约束:
params.b = int8([4 10]);
params.m = {};此文件指定了以下约束:
b是 4 到 10 之间的 8 位有符号整数。约束类型必须与 MATLAB 工作区中参数b的类型(在此示例中为int8)匹配。m不受任何值的约束。
使用 Sldv.Point 构造函数指定点,该构造函数接受单个值作为参量。使用 Sldv.Interval 构造函数指定区间,该构造函数需要两个输入参量,即区间的下界和上界。您也可以选择提供以下值之一作为第三个输入参量,用于指定区间端点的包含或排除:
'()'- 定义开区间。'[]'- 定义闭区间。'(]'- 定义左开区间。'[)'- 定义右开区间。
注意
默认情况下,如果您省略此参量,Simulink Design Verifier 会将区间视为闭区间。
以下示例将 m 限制为 3,将 b 限制为闭区间 [0, 10] 内的任意值:
params.m = Sldv.Point(3); params.b = Sldv.Interval(0, 10);
如果参数是标量,则您可以省略构造函数,改为指定单个值或二元素向量。例如,您也可以将前面的示例指定为:
params.m = 3; params.b = [0 10];
注意
要指示输入参数不受约束,请指定 params.m = {} 或 params.m = []。分析会将此参数视为自由输入。
您可以使用元胞数组为单个参数指定多个约束。在这种情况下,分析会使用逻辑 OR 运算来组合这些约束。
以下示例将 m 约束为 3 或 5,并将 b 约束为闭区间 [0, 10] 内的任意值:
params.m = {3, 5};
params.b = [0 10];您可以通过扩展结构体的大小来指定多个参数集。例如,以下示例使用 1×2 结构体定义两个参数集:
params(1).m = {3, 5};
params(1).b = [0 10];
params(2).m = {12, 15, Sldv.Interval(50, 60, '()')};
params(2).b = 5;第一个参数集将 m 限制为 3 或 5,并将 b 限制为闭区间 [0, 10] 内的任意值。第二个参数集将 m 限制为 12、15 或开区间 (50, 60) 内的任意值,并将 b 限制为 5。