主要内容

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

slmetric.metric.ResultCollection

(待删除)指定模型度量的度量数据

以后的版本中将会删除度量仪表板用户界面、metricdashboard 函数、slmetric 包 API 以及相应的自定义项。有关详细信息,请参阅从度量盘迁移到模型可维护性仪表盘

说明

slmetric.metric.ResultCollection 对象包含特定模型度量的度量数据。

创建对象

要创建 slmetric.metric.ResultCollection 对象,请在 slmetric.Engine 对象上使用 getMetricsgetMetrics 返回一个结果集合对象数组,其中包含度量引擎执行的所有度量。

属性

全部展开

MathWorks 度量或自定义度量的度量标识符,以字符向量的形式指定。您可以通过调用 slmetric.metric.getAvailableMetrics 获得度量标识符。

示例: 'mathworks.metrics.SimulinkBlockCount'

此 属性 为只读。

度量执行的状态码,以整数形式返回。

整数状态
1

没有结果。该度量算法不适用于所分析的系统。未找到该度量分析的组件,或者该度量有编译要求,无法在库模型上执行。

0

结果已收集。

-1

没有结果。执行度量时出错。

-2

上次运行没有结果。

-3

没有结果。编译错误。

-4

结果为空。缺少前提条件。

此 属性 为只读。

度量数据类别,返回以下四个类别之一:

  • Compliant - 在可接受范围内的度量数据。

  • Warning - 需要审核的度量数据。

  • Noncompliant - 需要您修改模型的度量数据。

  • 未分类 - 没有阈值的度量数据。

如果至少有一个组件是 NonCompliant,则此属性返回 NonCompliant。如果至少有一个组件是 Warning 且没有组件是 NonCompliant,则此属性返回 Warning。如果所有组件都是 Compliant,则此属性返回 Compliant

此 属性 为只读。

度量数据是否为最新数据,返回为 truefalse。如果为 true,则度量数据已过期,因为模型或源文件已更改。

此 属性 为只读。

调用 execute 方法获取一个或多个度量时收集的度量数据,以 slmetric.metric.Result 对象数组的形式返回。

示例

全部折叠

本示例展示了如何收集和访问模型 sldemo_mdlref_basic 的度量数据。

打开 sldemo_mdlref_basic 模型。

open_system('sldemo_mdlref_basic');

创建一个 slmetric.Engine 对象,并设置要进行分析的模型的根。

metric_engine = slmetric.Engine();

% Include referenced models and libraries in the analysis,
%   these properties are on by default
metric_engine.ModelReferencesSimulationMode = 'AllModes';
metric_engine.AnalyzeLibraries = 1;

setAnalysisRoot(metric_engine, 'Root', 'sldemo_mdlref_basic')

收集模型度量数据。

execute(metric_engine, 'mathworks.metrics.ExplicitIOCount');

将模型度量数据作为 slmetric.metric.ResultCollection 对象数组返回,并将其赋值给 res_col

res_col = getMetrics(metric_engine, 'mathworks.metrics.ExplicitIOCount');

显示 mathworks.metrics.ExplicitIOCount 度量的结果。

for n=1:length(res_col)
    if res_col(n).Status == 0
        result = res_col(n).Results;
        
        for m=1:length(result)
            disp(['MetricID: ',result(m).MetricID]);
            disp(['  ComponentPath: ',result(m).ComponentPath]);
            disp(['  Value: ', num2str(result(m).Value)]);
            disp(['  AggregatedValue: ', num2str(result(m).AggregatedValue)]);
            disp(['  Measures: ', num2str(result(m).Measures)]);
            disp(['  AggregatedMeasures: ', num2str(result(m).AggregatedMeasures)]);
        end
    else
        disp(['No results for:', result(n).MetricID]);
    end
    disp(' ');
end

对于 ComponentPath: sldemo_mdlref_basic,其值为 3,因为有三个输出。这三个输出位于 Measures 数组的第二个元素中。slmetric.metric.AggregationModeMax,所以 AggregatedValue4,也就是 sldemo_mdlref_counter 的输入和输出数。AggregatedMeasures 数组包含组件或子组件的最大输入和输出数。

版本历史记录

在 R2016a 中推出

全部折叠