slmetric.metric. Класс результата

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

Метрические данные для заданного компонента модели и метрический алгоритм

Описание

Экземпляры slmetric.metric.Result содержат метрические данные для заданного компонента модели и метрический алгоритм.

Конструкция

metric_result = slmetric.metric.Result создает указатель на метрический объект результатов.

Свойства

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

Уникальный числовой идентификатор для метрического объекта результата. Это свойство доступно только для чтения.

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

Уникальный идентификатор объекта компонента, для которого вычисляется метрика. Используйте ComponentID, чтобы проследить сгенерированный объект результата до анализируемого компонента. Установите свойства ComponentID или ComponentPath при помощи метода slmetric.metric.Metric.algorithm.

Это свойство является чтением-записью.

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

Путь компонента, для которого вычисляется метрика. Используйте ComponentPath в качестве альтернативы установке свойства ComponentID. Метрический механизм преобразовывает ComponentPath в ComponentID. Установите свойства ComponentID или ComponentPath при помощи метода slmetric.metric.Metric.algorithm.

Это свойство является чтением-записью.

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

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

Это свойство является чтением-записью.

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

Метрическое скалярное значение, сгенерированное алгоритмом для метрики, заданной MetricID и компонентом, задано ComponentID.

Если алгоритм не задает метрическое скалярное значение, значением по умолчанию является NaN. Например, предположите, что вы собираете метрические данные для модели, которая содержит диаграмму Stateflow. Для метрики StateflowChartObjectCount свойством Value объекта модели slmetric.metric.Result является NaN, потому что сама модель не может иметь объектов Stateflow. Свойство AggregatedValue объекта модели slmetric.metric.Result содержит общее количество объектов Stateflow в графике.

Это свойство является чтением-записью.

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

Метрическое значение агрегировано через иерархию модели. Метрический механизм неявно агрегировал метрические значения на основе AggregationMode. Не устанавливайте это свойство. Если метрическим скалярным значением является NaN для всех компонентов, AggregatedValue является нулем.

Это свойство доступно только для чтения.

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

Метрические меры, опционально заданные метрическим алгоритмом. Метрические меры содержат подробную информацию о метрическом значении. Например, для метрики, которая считает количество блоков на подсистему, можно задать меры, которые содержат количество виртуальных и невиртуальных блоков. Метрическое значение является суммой виртуального и невиртуального количества блока.

Установите свойство при помощи метода slmetric.metric.Metric.algorithm. Это свойство является чтением-записью.

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

Метрика измеряет значение, агрегированное через иерархию модели. Метрический механизм неявно агрегировал метрические значения меры на основе AggregationMode. Не устанавливайте это свойство.

Это свойство доступно только для чтения.

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

Детали о том, что метрический механизм значит свойство Value

Это свойство является чтением-записью.

Метрические значения данных попадают в одну из этих четырех категорий:

  • Совместимый — Метрические данные, которые находятся в допустимом диапазоне.

  • Предупреждение — Метрические данные, которые требуют анализа.

  • NonCompliant — Метрические данные, которые требуют, чтобы вы изменили свою модель.

  • Некатегоризированный — Метрические данные, которым не установили пороговые значения.

Это свойство доступно только для чтения.

Доступ к метрической категории данных и областям значений, которые соответствуют каждой категории. Это свойство пусто, если никакие пороговые значения не установлены.

Пользовательские данные опционально обеспечиваются метрическим алгоритмом.

Это свойство является чтением-записью.

Типы данных: 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.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