Main Content


(To be removed) Metric data for specified model metric

slmetric.metric.ResultCollection will be removed in a future release. For size, architecture, and complexity metrics, use the metric.Engine API and the model maintainability metrics instead. For more information, see metric.Engine and Collect Model Maintainability Metrics Programmatically.


An slmetric.metric.ResultCollection object contains the metric data for a specific model metric.


To create an slmetric.metric.ResultCollection object, use getMetrics on an slmetric.Engine object. getMetrics returns an array of result collection objects for all metrics that the metric engine executed.


expand all

Metric identifier for a MathWorks metric or a custom metric, specified as a character vector. You can get metric identifiers by calling slmetric.metric.getAvailableMetrics.

Example: 'mathworks.metrics.SimulinkBlockCount'

This property is read-only.

Status code of the metric execution, returned as an integer.


No result. The metric algorithm is not applicable to the analyzed system. The components analyzed by the metric were not found, or the metric has a compile requirement cannot be executed on the library model.


Result collected.


No result. Error executing metric.


No result available from previous run.


No result. Compilation error.


Empty result. Missing prerequisite.

This property is read-only.

Metric data category, returned as one of these four categories:

  • Compliant — Metric data that is in an acceptable range.

  • Warning — Metric data that requires review.

  • NonCompliant — Metric data that requires you to modify your model.

  • Uncategorized — Metric data that has no threshold values.

If at least one component is NonCompliant, this property returns NonCompliant. If at least one component is Warning and no components are NonCompliant, this property returns Warning. If all components are Compliant, this property returns Compliant.

This property is read-only.

Whether metric data is current, returned as true or false. If true, the metric data is out-of-date because the model or source files have changed.

This property is read-only.

Metric data collected when you call the execute method for one or more metrics, returned as an array of slmetric.metric.Result objects.


collapse all

This example shows how to collect and access metric data for the model sldemo_mdlref_basic.

Open the sldemo_mdlref_basic model.


Create an slmetric.Engine object and set the root in the model for analysis.

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')

Collect model metric data.

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

Return the model metric data as an array of slmetric.metric.ResultCollection objects and assign it to res_col.

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

Display the results for the mathworks.metrics.ExplicitIOCount metric.

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)]);
        disp(['No results for:', result(n).MetricID]);
    disp(' ');

For ComponentPath: sldemo_mdlref_basic, the value is 3 because there are three outputs. The three outputs are in the second element of the Measures array. The slmetric.metric.AggregationMode is Max, so the AggregatedValue is 4, which is the number of inputs and outputs to sldemo_mdlref_counter. The AggregatedMeasures array contains the maximum number of inputs and outputs for a component or subcomponent.

Version History

Introduced in R2016a

expand all