cv.cvdatagroup 类
命名空间: cv
cvdata
对象的集合
描述
cv.cvdatagroup
类的对象包含一个或多个 cvdata
对象。每个 cvdata
对象包含模型层次结构中模型的覆盖率结果。cv.cvdatagroup
不能包含多个具有相同模型名称、仿真模式和版本的 cvdata
对象。
当您在启用覆盖率的情况下仿真包含模型引用的模型时,或者当您的模型使用外部代码文件并且您选择了外部文件进行覆盖率分析时,Simulink® Coverage™ 会创建一个 cv.cvdatagroup
对象。使用 get
和 getAll
类方法来检索模型参考层次结构中特定模型的覆盖率数据。使用 allNames
方法检索 cvdata
对象名称,以便与 get
类方法一起使用。
cv.cvdatagroup
类是 handle
类。
创建对象
描述
输入参量
cvdo
— 覆盖率数据
cvdata
对象
覆盖率数据,指定为一个或多个 cvdata
对象。
数据类型: cvdata
属性
name
— 对象名称
''
(默认) | 字符数组
对象名称,指定为字符数组。
示例: cvdg.name = 'myDataGroup';
属性:
GetAccess | public |
SetAccess | public |
数据类型: char
方法
公共方法
allNames | 获取 cv.cvdatagroup 对象中 cvdata 对象的名称 |
allSimulationModes | 获取与 cv.cvdatagroup 中的 cvdata 对象相关的所有仿真模式的名称 |
get | 在 cvdatagroup 中获取指定的 cvdata 对象 |
getAll | 获取 cvdatagroup 对象中的所有 cvdata 对象 |
add | 将 cvdata 对象添加到 cv.cvdatagroup 对象中 |
特殊运算符和函数
这些方法专门为此类中的对象提供标准 MATLAB® 运算符和函数。
| 对与每个 如果覆盖率数据对象具有相同的模型名称、仿真模式和版本,则它们匹配。 如果 |
| 返回左操作数和右操作数中的覆盖率数据之间的集合差异。返回的 |
| 返回两个 |
示例
从 cvdatagroup
对象获取覆盖率数据
此示例显示如何从 cv.cvdatagroup
对象中检索指定的覆盖率数据对象、所有覆盖率数据对象或所有覆盖率数据对象名称。
加载示例模型。
modelName = 'slvnvdemo_eml_model_coverage_demo';
load_system(modelName);
使用 Simulink.SimulationInput
类来设置启用覆盖率的仿真场景。
simIn = Simulink.SimulationInput(modelName); simIn = setModelParameter(simIn,'CovEnable','on'); simIn = setModelParameter(simIn,'CovMetricStructuralLevel','MCDC'); simIn = setModelParameter(simIn,'CovSaveSingleToWorkspaceVar','on'); simIn = setModelParameter(simIn,'CovSaveName','covData'); simIn = setModelParameter(simIn,'CovSaveOutputData','off');
通过将 SimulationInput
对象传递给 sim
函数来仿真模型,然后从 SimulationOutput
对象中检索覆盖率数据。
simOut = sim(simIn); covData = simOut.covData
covData = ... cv.cvdatagroup slcoverageExternalFile (simulation mode: Normal) slvnvdemo_eml_model_coverage_demo (simulation mode: Normal)
示例模型包含一个调用外部 MATLAB 函数的 MATLAB® Function 模块。因为 Simulink Coverage 在单独的 cvdata
对象中返回 MATLAB 函数的覆盖率数据,所以 sim
返回一个 cv.cvdatagroup
对象,该对象包含模型和 MATLAB 函数的覆盖率结果。
要确定 cv.cvdatagroup
内每个 cvdata
对象关联的名称,请使用类方法 allNames
。
covDataNames = allNames(covData)
covDataNames = 2x1 cell array {'slcoverageExternalFile' } {'slvnvdemo_eml_model_coverage_demo'}
cv.cvdatagroup
包含模型以及 MATLAB 函数的覆盖率结果。
要检索模型的覆盖率数据,请使用 get
类方法。
modelCovData = get(covData,modelName)
modelCovData = ... cvdata version: (R2024a) id: 882 type: TEST_DATA test: cvtest object rootID: 884 checksum: [1x1 struct] modelinfo: [1x1 struct] startTime: 20-Apr-2024 10:50:14 stopTime: 20-Apr-2024 10:50:14 intervalStartTime: intervalStopTime: simulationStartTime: 0 simulationStopTime: 1 filter: simMode: Normal
要检索模型和外部文件的覆盖率数据,请使用 getAll
类方法。
covDataArray = getAll(covData)
covDataArray = 2x1 cell array {1x1 cvdata} {1x1 cvdata}
创建一个 cv.cvdatagroup 对象
此示例显示如何使用两个 cvdata
对象创建一个 cvdatagroup
对象。
记录 slvnvdemo_cv_small_controller
的覆盖率。
model_1 = 'slvnvdemo_cv_small_controller';
load_system(model_1)
cvdo1 = cvsim(model_1);
记录 slvnvdemo_powerwindow_controller
的覆盖率。
model_2 = 'slvnvdemo_powerwindow_controller';
load_system(model_2)
cvdo2 = cvsim(model_2);
创建一个包含两个 cvdata
对象的 cv.cvdatagroup
对象。
cvdg = cv.cvdatagroup(cvdo1,cvdo2);
版本历史记录
在 R2007b 中推出
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)