exponenta event banner

getMetrics

Класс: слометрический. Двигатель
Пакет: slmetric

Доступ к данным метрики модели

Описание

Доступ к данным метрики модели из указанного механизма метрики модели. При звонке executeмеханизм метрики собирает данные метрики. Возвращенные метрические данные основаны на определенных архитектурных компонентах. Компонентами являются следующие объекты Simulink:

  • Модель

  • Блок подсистемы

  • Диаграмма

  • Функциональный блок MATLAB

  • Защищенная модель

пример

Results = getMetrics(metric_engine) возвращает данные метрики для всех метрик, которые были выполнены механизмом метрики.

Results = getMetrics(metric_engine,MetricIDs) возвращает данные метрики для указанных идентификаторов метрики.

Results = getMetrics(metric_engine,MetricIDs,'AggregationDepth',ad) возвращает данные метрики для указанных идентификаторов метрики и указывает способ агрегирования данных.

Входные аргументы

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

При звонке execute, metric_engine собирает метрические данные для всех доступных метрик MathWorks или для указанных MetricIDs. Запрос getMetrics получает доступ к собранным данным метрики в metric_engine.

Метрический идентификатор для создаваемых метрик модели или пользовательских метрик модели. Можно указать один или несколько идентификаторов метрик. Вы можете получить метрические идентификаторы, позвонив slmetric.metric.getAvailableMetrics.

Пример: 'mathworks.metrics.DescriptiveBlockNames'

Глубина или уровень в компоненте, для которого getMetrics агрегирует метрические данные, указанные как аргумент пары имя-значение. Значения являются одним из следующих:

  • AllgetMetrics агрегирует подробные результаты до уровня компонента. Затем результаты уровня компонента используются для вычисления агрегированных значений путем прохождения иерархии компонентов. getMetrics возвращает только результаты уровня компонента.

  • None - Не агрегировать показатели и значения. Если этот параметр задан, getMetrics возвращает значения метрики, собранные алгоритмом метрики. Например, если алгоритм метрики возвращает подробные результаты, подробные результаты возвращаются без агрегирования. AggregatedValue и AggregatedMeasures свойства возвращенного slmetric.metric.Result объекты пусты.

Пример: 'AggregationDepth','None'

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

Выходные аргументы

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

Метрические данные из механизма метрики.

Примеры

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

Сбор метрических данных модели и доступ к ним 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.SimulinkBlockCount');

Получение данных метрики модели, возвращающих массив slmetric.metric.ResultCollection объекты, res_col.

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

Отображение результатов для mathworks.metrics.SimulinkBlockCount метрика.

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)]);
        end
    else
        disp(['No results for:', result(n).MetricID]);
    end
    disp(' ');
end
Представлен в R2016a