Метрические данные для заданного компонента модели и метрического алгоритма
Система координат 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.