slmetric.Engine class

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

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

Описание

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

Конструкция

metric_engine = slmetric.Engine() создает объект metric engine.

Свойства

расширить все

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

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

Типы данных: logical

Задайте, анализирует ли механизм метрики модели-ссылки в вашей корневой модели. Выберите из следующих значений:

ЗначениеОписание
NoneМеханизм метрики не собирает метрические данные для ссылочных моделей.
NormalModeOnlyMetric engine собирает метрические данные только для ссылочных моделей, работающих в режиме нормальной симуляции.
AllModesMetric engine собирает метрические данные для ссылочных моделей, работающих в нормальных и ускоренных режимах симуляции.

Типы данных: char

Методы

выполнитьСбор метрических данных
exportMetricsЭкспорт метрик модели
getAnalysisRootMetricПолучите метрические данные для одной метрики только для корня анализа
getErrorLogПолучить журнал ошибок
getMetricDistributionПолучите метрическое распределение
getMetricMetaInformation Получите метрические метаданные
getMetricsДоступ к метрическим данным модели
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.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

Вот результаты:

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 массив. The slmetric.metric.AggregationMode является Max, так что AggregatedValue является 4 которое является количеством входов и выходов для sldemo_mdlref_counter. The AggregratedMeasures массив содержит максимальное количество входов и выходов для компонента или подкомпонента.

Введенный в R2016a