Соберитесь и модель доступа метрические данные для модели sldemo_mdlref_basic
.
Создайте объект slmetric.Engine
. Включайте модели, на которые ссылаются, и библиотеки в анализе и установите корень в модели для анализа.
metric_engine = slmetric.Engine();
metric_engine.AnalyzeModelReferences = 1;
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
Вот результаты:
MetricID: mathworks.metrics.ExplicitIOCount
ComponentPath: sldemo_mdlref_basic
Value: 3
AggregatedValue: 4
Measures: 0 3
AggregatedMeasures: 3 3
MetricID: mathworks.metrics.ExplicitIOCount
ComponentPath: sldemo_mdlref_basic/More Info
Value: 0
AggregatedValue: 0
Measures: 0 0
AggregatedMeasures: 0 0
MetricID: mathworks.metrics.ExplicitIOCount
ComponentPath: sldemo_mdlref_counter
Value: 4
AggregatedValue: 4
Measures: 3 1
AggregatedMeasures: 3 1
Для ComponentPath: sldemo_mdlref_basic
значением является 3
, потому что существует 3
выходные параметры. Эти три выходных параметров в своей стихии массива Measures
. slmetric.metric.AggregationMode
является Max
, таким образом, AggregatedValue
является 4
, который является количеством вводов и выводов к sldemo_mdlref_counter
. Массив AggregratedMeasures
содержит максимальное количество вводов и выводов для компонента или субкомпонента.