cvdata
访问 MATLAB 工作区中的 Simulink Coverage 数据
说明
cvdata
对象存储模型覆盖率数据。
创建对象
当您仿真一个启用了覆盖率的模型时,会自动生成一个 cvdata
对象。您可以使用覆盖率函数访问覆盖率数据。如果关闭或者修改其父模型,cvdata
对象将变为无效。
属性
dbVersion
— 覆盖率数据来源发布
character array
此属性是只读的。
覆盖率数据来源发布,以字符数组形式返回。
数据类型: char
id
— 内部覆盖率数据 ID
scalar
此属性是只读的。
内部覆盖率数据 ID,以标量形式返回。
数据类型: double
type
— 内部覆盖率数据类型
TEST_DATA
| DERIVED_DATA
此属性是只读的。
内部覆盖率类型,返回为 TEST_DATA
(表示单个覆盖率仿真)或 DERIVED_DATA
(表示聚合或累计覆盖率数据)。
数据类型: char
test
— 测试数据
cvtest
对象
此属性是只读的。
测试数据,以 cvtest
对象形式返回。该属性描述覆盖率配置。
数据类型: cvtest
rootID
— 内部根 ID
scalar
此属性是只读的。
内部根 ID,以标量形式返回。
数据类型: double
checksum
— 覆盖率数据校验和
struct
此属性是只读的。
覆盖率数据校验和,以结构体数组形式返回。对模型的某些改变会导致 checksum
发生变化,例如,编辑模型结构体(如删除或添加模块),或者更改某些配置参数。要聚合覆盖率结果,cvdata.checksum
属性必须匹配。
数据类型: struct
modelinfo
— 模型信息
struct
此属性是只读的。
模型信息,以结构体数组形式返回。此属性包含有关覆盖率分析模型的元数据。
cvdata.modelinfo
具有以下字段:
字段 | 描述 | 值 |
---|---|---|
| 为覆盖率而分析的模型版本。 |
|
| 该模型的原创者。 | 系统名称或组织名称 |
| 上次修改模型的日期和时间。 |
|
| 表示默认参数行为设置。 |
|
| 指示是否启用模块减少。 查看 模块简化 以了解更多信息。 |
|
| 条件输入执行开关。 |
|
| 用于修正条件决策覆盖率(MCDC)分析的定义。 有关更多信息,请参阅Simulink Coverage 中的修改条件和决策覆盖 (MCDC) 定义。 |
|
| 所分析的模型或模型对象的名称。如果分析范围限定为子系统、Stateflow® 图或其他模型对象,则这就是该模型对象的路径。 |
|
| 如果启用了模块简化参数并且减少了任何模块,则列出由模块减少参数减少的模块列表。 |
|
| 在测组件或包含在测组件的模型。如果您有一个模块框架,这就是框架测试的模型。如果您有一个子系统框架,那么这就是包含该子系统的模型。 | character array |
| 如果模型包含子系统框架,那么这就是框架正在测试的子系统。 |
|
| 框架模型名称。如果您有从多次测试运行中聚合的数据,其中每次运行都使用具有相同 | character array |
| 指示是否启用短路选项。 |
|
数据类型: struct
startTime
— 仿真开始时的系统时间
character array
仿真开始时的系统时间,以字符数组的形式返回。
数据类型: char
stopTime
— 仿真停止时的系统时间
scalar
仿真停止时的系统时间,以字符数组形式返回。
数据类型: char
intervalStartTime
— 覆盖率区间开始时间
scalar
覆盖区间开始时间,以标量形式返回。该值来自 CovStartTime
参数。有关更多信息,请参阅覆盖率区间开始时间。
数据类型: double
intervalStopTime
— 覆盖率区间停止时间
scalar
覆盖区间停止时间,以标量形式返回。该值来自 CovStopTime
参数。有关更多信息,请参阅覆盖率区间停止时间。
数据类型: double
filter
— 覆盖率过滤器文件名
character array
| cell array
覆盖率过滤器文件名,以字符数组或字符数组的元胞数组返回。此属性包含覆盖率过滤器文件名。如果未应用覆盖率过滤器,则该字段为空。您可以通过为此属性分配有效的过滤文件的名称来在仿真之后应用覆盖率过滤器。
数据类型: char
| cell
simMode
— 仿真模式
character array
仿真模式,以字符数组形式返回。有关更多信息,请参阅仿真模式。
数据类型: char
excludeInactiveVariants
— 是否在覆盖率报告中排除非活动的变体
0
(默认) | 1
是否在覆盖率报告中排除非活动变体,指定为 0
或 1
。将此属性设置为 0
以在覆盖率报告中报告非活动变体,将此属性设置为 1
以从覆盖率报告中排除非活动变体。
此属性仅影响具有启动激活时间的 Simulink® 变体和 Stateflow 图非活动变体配置。
如果聚合两个或多个具有不同 excludeInactiveVariants
值的 cvdata
对象,则生成的聚合 cvdata
对象的 excludeInactiveVariants
属性值为 0
。
示例: covData.excludeInactiveVariants = 1;
数据类型: double
对象函数
查看并保存覆盖率结果
cvhtml | 根据模型覆盖率对象创建 HTML 覆盖率报告 |
cvmodelview | 通过模型突出显示来显示模型覆盖率结果 |
cvresults | 返回活动覆盖率数据,清除并从文件中加载活动覆盖率数据 |
cvsave | 将覆盖率设置和结果保存到文件 |
从 cvdata
对象中提取覆盖率结果
extract | 从系统级覆盖率数据中提取子系统覆盖率数据 |
complexityinfo | 从 cvdata 对象中检索圈复杂度覆盖率信息 |
conditioninfo | 从 cvdata 对象中检索条件覆盖率信息 |
decisioninfo | 从 cvdata 对象检索决策覆盖率信息 |
executioninfo | 从 cvdata 对象检索执行覆盖率信息 |
getCoverageInfo | 从 cvdata 对象检索 Simulink Design Verifier 模块的覆盖率信息 |
mcdcinfo | 从 cvdata 对象中检索修正条件/决策覆盖率信息 |
overflowsaturationinfo | 从 cvdata 对象检索整数溢出覆盖率的饱和度 |
relationalboundaryinfo | 从 cvdata 对象检索关系边界覆盖率 |
sigrangeinfo | 从 cvdata 对象检索信号范围覆盖率信息 |
sigsizeinfo | 从 cvdata 对象检索信号大小覆盖率信息 |
tableinfo | 从 cvdata 对象检索查找表覆盖率信息 |
您可以将这些专门的 MATLAB® 运算符与 cvdata
对象一起使用。
+ | 返回两个 |
- | 返回左操作数和右操作数之间的集合差异。返回的 |
* and .* | 返回两个 |
示例
查看决策覆盖率数据
此示例显示如何查看模型中模块的决策覆盖率数据。
加载模型。
modelName = 'slvnvdemo_cv_small_controller';
load_system(modelName);
使用 Simulink.SimulationInput
对象配置模型的覆盖率设置。
simIn = Simulink.SimulationInput(modelName); simIn = setModelParameter(simIn,'CovEnable','on'); simIn = setModelParameter(simIn,'CovMetricStructuralLevel','Decision'); simIn = setModelParameter(simIn,'CovSaveSingleToWorkspaceVar','on'); simIn = setModelParameter(simIn,'CovSaveName','covData');
通过将 simIn
作为输入传递给 sim
来仿真模型。
simOut = sim(simIn);
从 SimulationOutput
对象 simOut
中提取覆盖率数据作为 cvdata
对象。
covData = simOut.covData;
通过使用模块路径调用 decisioninfo
来查看 Saturation 模块的决策覆盖率结果。
blockPath = [modelName,'/Saturation'];
decisionCov = decisioninfo(covData,blockPath)
decisionCov = 3 4
decisioninfo
返回一个包含两个标量的数组。第一个值是满意的决策结果的数量,第二个值是总决策结果的数量。使用这些来确定 Saturation 模块的满意决策结果的百分比。
percentDecisionCov = 100 * decisionCov(1) / decisionCov(2)
percentDecisionCov = 75
版本历史记录
在 R2006a 之前推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)