主要内容

slcoverage.filter类

包裹:Slcoverage

覆盖过滤器集

描述

使用一个对象Slcoverage.Filter通过使用slcoverage.filterrule班级。

Slcoverage.Filter班级是处理班级。

创建

描述

菲尔特= slcoverage.filter()创建一个Slcoverage.Filter目的。

菲尔特= slcoverage.filter(FilterFile创建一个Slcoverage.Filter包含保存在的过滤器规则的对象FilterFile

输入参数

展开全部

CVF格式的过滤文件,指定为文件名的路径名的字符数组,或字符数组的单元格数组。您无需包括文件扩展名。

例子:“ myfilt',,,,“过滤器\ myfilt',,,,{'myfilt1','myfilt2'}

方法

展开全部

例子

全部收缩

此示例显示了如何将规则添加到覆盖过滤器文件中。

创建一个过滤对象并使用BlockSelector班级创建一个BlockSelector饱和块的对象slvnvdemo_covfilt模型。

filt = slcoverage.filter;blocksel = slcoverage.blockselector(slcoverage.blockselettype.blockinstance,...'slvnvdemo_covfilt/饱和');

创建一个规则以使用slcoverage.filterrule将选择器作为第一个输入和基本原理作为第二输入。

rule = slcoverage.filterrule(blocksel,“边缘盒”);

使用加法方法的方法Slcoverage.Filter类将规则添加到过滤器对象。

addrule(filt,规则);

使用新规则将过滤器保存到过滤器文件中节省方法的方法Slcoverage.Filter班级。

保存(filt,“ myfilterfile”

此示例显示了如何创建过滤对象并添加规则以将子系统排除在覆盖范围分析之外。

打开slvnvdemo_covfilt模型。用一个仿真input对象启用覆盖范围记录并指定覆盖范围设置。

modelName ='slvnvdemo_covfilt';load_system(modelName)simin = s金宝appimulink.simulationInput(modelName);simin = setModelParameter(simin,“可见”,,,,'上');simin = setModelParameter(simin,“ covmetricsstructurallevel”,,,,'MCDC');simin = setModelParameter(simin,'CovsavesingletokSpacevar',,,,'上');simin = setModelParameter(simin,'covsavename',,,,'covdata');

模拟模型。覆盖范围数据存储在提供的价值中covsavename财产。

simout = sim(simin);covdata = simout.covdata;

您可以使用slcoverage.blockselector班级。要排除可切换配置子系统,请使用slcoverage.blockselettype.subsystemallcontent作为第一个输入。

subsyssel = slcoverage.blockselector(...slcoverage.blockselettype.subsystemallcontent,...'slvnvdemo_covfilt/可切换配置');

通过将选择器,理由和排除过滤器模式作为输入来创建过滤器规则。

rule = slcoverage.filterrule(subsyssel,,...“未使用的配置”,,,,...slcoverage.filtermode.exclude);

创建一个Slcoverage.Filter对象,然后将规则添加到其中。

filt = slcoverage.filter;addrule(filt,规则);

将过滤器保存到称为的文件blockfilter.cvf。要创建使用此覆盖过滤器的报告,请将过滤器文件作为值添加到筛选财产的Covdata,并创建一个名为的报告coveragedata.html使用Covdata

保存(filt,'BlockFilter')covdata.filter ='BlockFilter';CVHTML(“覆盖,covdata)

如果您有多个包含自己的规则集的过滤文件,则可以通过创建过滤器文件名或路径名的单元格数组将其应用于覆盖范围结果。在此示例中,您将两个过滤文件应用于一个CVDATA对象,然后查看报告以查看应用过滤器。

加载slvnvdemo_covfilt模型进入内存。

modelName ='slvnvdemo_covfilt';LOAD_SYSTEM(模型名称)

使用一个设置覆盖范围设置金宝appSimulink.SimulationInput对象并使用SIM

simin = 金宝appsimulink.simulationInput(modelName);simin = setModelParameter(simin,“可见”,,,,'上');simin = setModelParameter(simin,“ covmetricsstructurallevel”,,,,'MCDC');simin = setModelParameter(simin,'CovsavesingletokSpacevar',,,,'上');simin = setModelParameter(simin,'covsavename',,,,'covdata');simout = sim(simin);

将两个过滤器应用于CVDATA将它们分配给过滤器属性作为单元格数组来对象。

covdata.filter = {'filter_1',,,,'filter_2'};CVHTML('Twofilterscovdata',covdata);

您可以在从覆盖范围分析过滤的对象覆盖范围报告的部分。

版本历史记录

在R2017b中引入