Метрические данные для заданного компонента модели и метрический алгоритм
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
— Метрический идентификаторМетрический идентификатор для Метрик Модели или пользовательских метрик модели, которые вы создаете в виде вектора символов. Можно получить метрические идентификаторы путем вызова slmetric.metric.getAvailableMetrics
.
Пример: 'mathworks.metrics.SimulinkBlockCount'
Типы данных: char
Value
— Метрическое значениеМетрическое скалярное значение, сгенерированное алгоритмом для метрики, задано MetricID
и компонент задан ComponentID
В виде двойного.
Если алгоритм не задает метрическое скалярное значение, значение Value
isnan
. Например, предположите, что вы собираете метрические данные для модели, которая содержит диаграмму Stateflow. Для StateflowChartObjectCount
метрика, Value
свойство модели slmetric.metric.Result
объектом является NaN
потому что сама модель не может иметь объектов Stateflow. 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
— Метрическая категория данных на основе критериев пороговой обработкиЭто свойство доступно только для чтения.
Метрическая категория данных, возвращенная как одна из этих четырех категорий:
Совместимый — Метрические данные, которые находятся в допустимом диапазоне.
Предупреждение — Метрические данные, которые требуют анализа.
NonCompliant — Метрические данные, которые требуют, чтобы вы изменили свою модель.
Некатегоризированный — Метрические данные, которым не установили пороговые значения.
Classifications
— Метрическая категория данных и критерии пороговой обработкиslmetric.config.ResultClassification
объектМетрическая категория данных и области значений, которые соответствуют каждой категории в виде slmetric.config.ResultClassification
объект. Это свойство пусто, если никакие пороговые значения не установлены.
UserData
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_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
потому что существует три выходных параметров. Эти три выходных параметров в своей стихии Measures
массив. slmetric.metric.AggregationMode
Max
, так AggregatedValue
4
, который является количеством вводов и выводов к sldemo_mdlref_counter
. AggregatedMeasures
массив содержит максимальное количество вводов и выводов для компонента или субкомпонента.
slmetric.Engine
| slmetric.metric.Metric
| slmetric.metric.ResultCollection
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.