slmetric. Класс Engine

Пакет: slmetric
Суперклассы:

Соберите метрические данные по моделям или компонентам модели

Описание

Используйте объект slmetric.Engine собрать метрические данные по моделям путем вызова execute. Используйте getMetrics, чтобы получить доступ к метрическим данным и возвратить массив объектов slmetric.metric.ResultCollection. Эти метрические данные являются персистентными в папке кэша симуляции. Будущие инстанцирования объекта slmetric.Engine для той же модели могут получить доступ к кэшируемым метрическим данным, не регенерируя метрические данные.

Конструкция

metric_engine = slmetric.Engine() создает метрический объект механизма.

Свойства

развернуть все

Имя корневой модели или подсистемы, по которой можно собрать метрические данные, как задано методом slmetric.Engine.setAnalysisRoot. Это свойство доступно только для чтения.

Задайте, анализирует ли метрический механизм соединенные библиотекой подсистемы в корневой модели, включая библиотеки в моделях, на которые ссылаются, под корнем. Метрический анализ не включает соединенные блоки в Simulink встроенные библиотеки. Установите этот параметр на false или 0, чтобы не включать библиотеки в метрический анализ.

Типы данных: логический

Задайте, анализирует ли метрический механизм модели, на которые ссылаются, в вашей корневой модели. Установите этот параметр на false или 0, чтобы не включать модели, на которые ссылаются, в метрический анализ.

Типы данных: логический

Методы

выполнениеСоберите метрические данные
exportMetricsЭкспортируйте образцовые метрики
getAnalysisRootMetricПолучите метрические данные для одной метрики для аналитического корня только
getErrorLogПолучите журнал ошибок
getMetricDistributionПолучите метрическое распределение
getMetricMetaInformation Получите метрические метаданные
getMetricsМетрические данные о модели Access
getStatisticsПолучите статистику по метрическим данным
setAnalysisRootЗадайте модель или подсистему для метрического анализа

Примеры

свернуть все

Соберитесь и модель доступа метрические данные для модели 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.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 содержит максимальное количество вводов и выводов для компонента или субкомпонента.

Введенный в R2016a