在折叠模式下收集 MinMax 模块的覆盖率
此示例显示如何分析和解释折叠模式下 MinMax 模块的覆盖率结果。当您将应用于参数设置为 Specified dimension 时,MinMax 模块处于折叠模式。
如果 MinMax 模块有一个矩阵输入,您可以选择在输入信号的一个或所有指定维度上应用所选函数 min 或 max。有关详细信息,请参阅应用于。
当您使用折叠模式时,它会改变 MinMax 模块报告覆盖率结果的方式。此示例显示如何收集将应用于参数设置为 Specified dimension 的 MinMax 模块的覆盖率。示例模型 slcoverageMinMaxCollapse 包含一个 Constant 模块,该模块输出一个 2×3 的 8 位整数值矩阵,以及一个 MinMax 模块,其中 Function 模块参数设置为 min,应用于模块参数设置为 Specified dimension,维度模块参数设置为 1。
打开模型
打开模型。

在建模选项卡上,点击模型设置。在配置参数对话框中,确保选择启用覆盖率分析,并将结构覆盖率级别设置为 Decision。点击其他度量展开列表,并确保选择了关系边界。点击确定。在工具条中,点击运行(覆盖率)。
调查决策覆盖率结果
仿真完成后,覆盖率详细信息窗格将打开。点击 Minimum 模块以滚动报告到该模块的详细信息。

决策覆盖率为 50%。这个结果是预料之中的,因为 Minimum 模块的输入信号连接到 Constant 模块,所以在仿真过程中值不会改变。决策覆盖率表使用单值索引,也称为线性索引,即使信号包含二维或多维数组。有关线性索引的更多信息,请参阅数组索引 的使用单一索引进行索引部分。
分析的决策表表明 Minimum 模块折叠了其中一个维度。有六个输入元素,但只有三个输出元素,因为 MinMax 模块在列上应用了 min 函数。确定输出元素 1 的逻辑这一行包含两个子行,输入元素 1 是最小值和输入元素 2 是最小值。在此示例中,输入元素 1 为 11,输入元素 2 为 10。因此,输入元素 2 在每个时间步中都是最小的。
调查关系边界覆盖率结果
滚动到同模块的分析的关系边界表。

分析的关系边界表包含输入数组的每个元素的一行,并减去该数字之前和之后元素的最小值或最大值(如果存在)。
在表格的第一行 input element 1 - min(input elements after input element 1 across collapsed dimension) 中,输入元素 1 为 11,折叠维度中输入元素 1 之后的输入元素是输入元素 2,即 10。此运算的结果是 11 - 10,等于 1。因为该值不是 0 或 -1(当信号使用整数数据类型时,关系边界覆盖率会检查这两个值),所以结果是这里没有输入元素 1 的关系边界覆盖率。同样的逻辑也适用于其他输入元素。
由于覆盖率报告使用单元素索引,对于关系边界表中的第三个输入元素 input element 3 - min(input elements after input element 3 across collapsed dimension),输入元素 3 是 12。因此,该语句的计算结果为 12 - 14,即 -2。因为它不等于 -1 或 0,所以导致没有满足的关系边界覆盖率。
更改折叠维度
在模型中,双击 Minimum 模块以打开模块对话框。将维度参数更改为 2 并点击确定。点击运行(覆盖率)按钮再次仿真模型。仿真完成后,点击 Minimum 模块以查看模块详细信息。

分析的决策表现在包含两层行而不是三层行,因为 Minimum 模块的是两元素向量而不是三元素向量。因为 Minumum 模块在各行上应用了 min 函数,所以该模块现在从第 1 行和第 2 行中取出最小元素并将它们放入 2×1 的列向量中。输出元素 1 为 11,它是 11、12 和 13 中的最小值。
导航到分析的关系边界表。

输入元素 3 有两个单独的行。第一行是 input element 3 - min(input elements before input element 3 across collapsed dimension)。输入元素 3 是 12,折叠维度中输入元素 3 之前的输入元素是输入元素 1,即 11。这一行的结果是 12 - 11 = 1,不满足任何关系边界结果。下一行是 input element 3 - min(input elements after input element 3 across collapsed dimension)。这一行的结果是 12 - 13 = -1。虽然这个差异的结果是 -1,但是关系边界表中的对应值并不满足,因为决策 input element 3 is the minimum 在这个时间步内没有发生,并且 Simulink Coverage 仅在该时间步内对应的决策为 true 时才检查关系边界结果。
有关 MinMax 模块中关系边界覆盖率的更多信息,请参阅收集 MinMax 模块的关系边界覆盖。
限制
如果模块输入是可变大小信号,则无法通过将应用于参数设置为 Specified dimension 来收集 MinMax 模块的关系边界覆盖率。