主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

get

类: cv.cvdatagroup
命名空间: cv

cvdata 中获取指定的 cvdatagroup 对象

说明

covData = get(cvdg,dataName) 返回 cv.cvdatagroup 对象 cvdg 中的一个或多个 cvdata 对象,这些对象对应于 dataName 中指定的模型或文件。如果您使用多种不同的仿真模式仿真相同的模型引用,则 get 将返回多个 cvdata 对象。

covData = get(cvdg,dataName,simMode) 返回具有仿真模式 simModecvdata 对象或对象。

输入参数

全部展开

覆盖率数据组,指定为 cv.cvdatagroup 对象。

数据类型: cv.cvdatagroup

覆盖率数据的名称,指定为字符数组或字符串数组。dataName 可以是与 cv.cvdatagroup 中包含的一个或多个 cvdata 对象相对应的模型、子系统或外部代码文件的名称。如果函数没有找到匹配项,它将返回一个空数组。如果该函数找到多个匹配项,它将返回 cvdata 对象的元胞数组。

数据类型: char | string

cv.cvdatagroup 对象中的一个或多个 cvdata 对象对应的仿真模式,指定为以下之一:

对象设定描述

"Normal"

普通仿真模式下的模型。

"SIL" or "PIL"

软件在环 (SIL) 或处理器在环 (PIL) 仿真模式下的模型。

"ModelRefSIL" or "ModelRefPIL"

软件在环 (SIL) 或处理器在环 (PIL) 仿真模式中的模型参考。

"ModelRefTopSIL" or "ModelRefTopPIL"

软件在环 (SIL) 或处理器在环 (PIL) 仿真模式下的模型引用,代码接口设置为顶层模型。

如果函数没有找到匹配项,它将返回一个空数组。如果函数找到多个匹配项,它将返回一个元胞数组。

数据类型: char | string

输出参量

全部展开

覆盖率数据,以 cvdata 对象或 cvdata 对象的元胞数组返回。如果指定了 simMode,则 covDataArray 仅包含与 simMode 匹配的覆盖率数据。

数据类型: cell

示例

全部展开

此示例显示如何从 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 函数的覆盖率结果。

要确定 cvdata 内每个 cv.cvdatagroup 对象关联的名称,请使用类方法 allNames

covDataNames = allNames(covData)
covDataNames =

  2×1 cell array

    {'slcoverageExternalFile'           }
    {'slvnvdemo_eml_model_coverage_demo'}

cv.cvdatagroup 包含模型以及 MATLAB 函数的覆盖率结果。

要检索模型的覆盖率数据,请使用 get 类方法。

modelCovData = get(covData,modelName)
modelCovData = ... cvdata
            version: (R2025a)
                 id: 882
               type: TEST_DATA
               test: cvtest object
             rootID: 884
           checksum: [1x1 struct]
          modelinfo: [1x1 struct]
          startTime: 01-Feb-2025 15:48:16
           stopTime: 01-Feb-2025 15:48:16
  intervalStartTime: 
   intervalStopTime: 
simulationStartTime: 0
 simulationStopTime: 1
             filter: 
            simMode: Normal

要检索模型和外部文件的覆盖率数据,请使用 getAll 类方法。

covDataArray = getAll(covData)
covDataArray =

  2×1 cell array

    {1×1 cvdata}
    {1×1 cvdata}

版本历史记录

在 R2007b 中推出

另请参阅

|