Метрические данные для заданного компонента модели и метрического алгоритма
Система координат slmetric.metric.Result
объект содержит метрические данные для заданного компонента модели и метрического алгоритма.
создает указатель на объект результатов метрики.metric_result
= slmetric.metric.Result
Кроме того, если вы собираете результаты в slmetric.metric.ResultCollection
объект, Results
свойство объекта набор возвращает собранные slmetric.metric.Result
объекты в массиве.
ID
- Числовой идентификаторЭто свойство доступно только для чтения.
Уникальный числовой идентификатор для объекта метрического результата, возвращенный в виде целого числа.
Типы данных: uint64
ComponentID
- Идентификатор компонентаУникальный идентификатор объекта компонента, для которого вычисляется метрика, заданный как вектор символов. Использование ComponentID
для трассировки сгенерированного объекта результата в анализируемый компонент. Установите ComponentID
или ComponentPath
свойства при помощи algorithm
способ.
Пример: 'sldemo_mdlref_basic'
Типы данных: char
ComponentPath
- Путь к компонентуПуть компонента, для которого вычисляется метрика, задается как вектор символов. Использование ComponentPath
как альтернатива установке ComponentID
свойство. Механизм метрики преобразует ComponentPath
в ComponentID
. Установите ComponentID
или ComponentPath
свойства при помощи algorithm
способ.
Пример: 'vdp/More Info/Model Info/EmptySubsystem'
Типы данных: char
MetricID
- Метрический идентификаторИдентификатор метрики для Model Metrics или пользовательских метрик модели, которые вы создаете, заданный как вектор символов. Вы можете получить идентификаторы метрики, позвонив slmetric.metric.getAvailableMetrics
.
Пример: 'mathworks.metrics.SimulinkBlockCount'
Типы данных: char
Value
- Метрическое значениеМетрическое скалярное значение, сгенерированное алгоритмом для метрики, заданной MetricID
и компонент, заданный как ComponentID
, заданный как двойной.
Если алгоритм не задает метрическое скалярное значение, значение Value
является NaN
. Например, предположим, что вы собираете метрические данные для модели, которая содержит диаграмму Stateflow. Для StateflowChartObjectCount
metric, the Value
свойство модели slmetric.metric.Result
объект NaN
потому что сама модель не может иметь объекты Stateflow. The AggregatedValue
свойство модели slmetric.metric.Result
объект содержит общее количество объектов Stateflow на графике.
Типы данных: double
AggregatedValue
- Агрегированное метрическое значениеЭто свойство доступно только для чтения.
Значение метрики, агрегированное по иерархии модели, возвращается как двойной. Механизм метрики неявно агрегирует значения метрики на основе AggregationMode
. Если на Value
свойство NaN
для всех компонентов, AggregatedValue
равен нулю.
Типы данных: double
Measures
- Метрические измеренияМетрические измерения, заданные метрическим алгоритмом, заданы как двойной массив. Метрические измерения содержат подробную информацию о значении метрики. Например, для метрики, которая подсчитывает количество блоков на подсистему, можно задать меры, которые содержат количество виртуальных и невиртуальных блоков. Метрическое значение является суммой количества виртуальных и невиртуальных блоков.
Установите это свойство при помощи slmetric.metric.Metric.algorithm
способ.
Типы данных: double
AggregatedMeasures
- Совокупные метрические измеренияЭто свойство доступно только для чтения.
Метрические измерения значения агрегированы по иерархии модели, возвращены как двойной массив. Механизм метрики неявно агрегирует значения метрических мер на основе AggregationMode
.
Типы данных: double
Details
- Детали метрического результатаslmetric.metric.ResultDetail
объектыПодробности о том, что подсчитывает механизм метрики для Value
свойство, заданное как массив slmetric.metric.ResultDetail
объекты.
Category
- Категория метрических данных на основе критериев порогового значенияЭто свойство доступно только для чтения.
Категория метрических данных, возвращенная как одна из следующих четырех категорий:
Совместимые - метрические данные, которые находятся в приемлемой области значений.
Предупреждение - Метрические данные, которые требуют проверки.
Несоответствующие - метрические данные, которые требуют от вас изменения модели.
Без категории - Метрические данные, которые не имеют заданных пороговых значений.
Classifications
- Категория метрических данных и критерии порогового значенияslmetric.config.ResultClassification
объектКатегория метрических данных и области значений, соответствующие каждой категории, заданные как slmetric.config.ResultClassification
объект. Это свойство пустое, если не заданы пороги значения.
UserData
- Пользовательские данныеПользовательские данные, опционально предоставляемые метрическим алгоритмом, заданные как вектор символов.
Типы данных: 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.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_counter
Value: 4
AggregatedValue: 4
Measures: 3 1
AggregatedMeasures: 3 1
Для ComponentPath: sldemo_mdlref_basic
, значение 3
потому что существует три выхода. Три выхода находятся во втором элементе Measures
массив. The slmetric.metric.AggregationMode
является Max
, так что AggregatedValue
является 4
, которое является количеством входов и выходов для sldemo_mdlref_counter
. The AggregatedMeasures
массив содержит максимальное количество входов и выходов для компонента или подкомпонента.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.