socModelAnalyzer

Оцените количество операций в модели Simulink

Описание

пример

socModelAnalyzer(modelName) генерирует отчет с предполагаемым количеством операций в Simulink® модель задана modelName.

Функция генерирует отчет как Microsoft® Excel® электронная таблица и MAT-файл. Функция также обеспечивает ссылку, чтобы просмотреть отчет в отдельном диалоговом окне.

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

  • Path – Путь к оператору в структурной иерархии главной функции

  • Count – Число раз оператор выполняется в проекте

  • Operator – Оператор используется

  • DataType – Тип данных используется для выхода оператора

  • Link – Ссылка на местоположение оператора в функции

Для получения дополнительной информации см. Используя Алгоритм Отчет Анализатора.

пример

socModelAnalyzer(modelName,Name,Value) задает опции с помощью одного или нескольких аргументов пары "имя-значение". Например, 'IncludeOperator','+' указывает, что сгенерированный отчет только включает в себя '+' количества оператора.

пример

report = socModelAnalyzer(___) возвращает структуру таблиц, которые содержат, сообщают информацию. Задайте любую из комбинаций входных аргументов от предыдущих синтаксисов.

Примеры

свернуть все

Вычислите количество динамических операций и статических операторов в модели testmdl.slx.

Сгенерируйте динамический отчет

Считайте операции в testmdl, и сгенерируйте отчет в папке под названием report.

socModelAnalyzer('testmdl.slx','Folder','report');

Просмотрите динамический отчет

После генерации динамического отчета, socModelAnalyzer функция обеспечивает ссылку на сгенерированный отчет. Просмотрите отчет динамического анализа путем щелчка по Открытой ссылке средства просмотра отчета. Отчет открывается в отдельном окне.

Результат показывает что ADD оператор используется 11 раз с типом данных matrix 10 uint32, и 22 раза с типом данных uint32. GT (больше, чем), оператор использовался общее количество 22 раз с типом данных logical: 11 раз из модели SubAdd, и 11 раз из модели SubMult. MUL оператор используется 11 раз с типом данных uint32, и 11 раз с matrix 10 uint32.

Сгенерируйте статический отчет

Статически вычислите количество операторов в модели при помощи AnalysisMethod аргумент значения имени.

socModelAnalyzer('testmdl.slx','AnalysisMethod','static','Folder','report');

Просмотрите статический отчет

Просмотрите отчет статического анализа путем щелчка по Открытой ссылке средства просмотра отчета. Статический отчет открывается в отдельном окне.

Входные параметры

свернуть все

Модель Simulink, чтобы анализировать в виде вектора символов или строкового скаляра.

Пример: 'soc_analyze_FFT_top.slx'

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

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: socModelAnalyzer('mySocModel.slx','Folder','report_sym')

Опция для помех динамического анализа, заданного as 'static' или 'dynamic'. Это значение задает метод что функциональное использование, чтобы анализировать модель Simulink.

  • 'dynamic' – Динамический анализ обеспечивает количество операций, которые модель выполняет во время данного времени симуляции.

  • 'static' – Статический анализ обеспечивает количество операторов в алгоритме.

Пример: 'AnalysisMethod','static'

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

Пример: 'Folder','C:/Work/mydir'

Операторы, чтобы включать в сгенерированный отчет в виде вектора символов или строкового скаляра, чтобы задать один оператор. Используйте массив ячеек из символьных векторов или строковые скаляры, чтобы задать несколько операторов. Когда вы не задаете этот аргумент пары "имя-значение", socModelAnalyzer функция включает все операторы, за исключением операторов, заданных ExcludeOperator аргумент пары "имя-значение".

Пример: 'IncludeOperator','+'

Пример: 'IncludeOperator',{'+','IF','MUL'}

Операторы, чтобы исключить из сгенерированного отчета в виде вектора символов или строкового скаляра, чтобы задать один оператор. Используйте массив ячеек из символьных векторов или строковые скаляры, чтобы задать несколько операторов. Когда вы не задаете этот аргумент пары "имя-значение", socModelAnalyzer функция включает все операторы в отчет.

Пример: 'ExcludeOperator','-'

Пример: 'ExcludeOperator',{'-','CALL'}

Модели или блоки, чтобы включать в сгенерированный отчет в виде вектора символов или строкового скаляра, чтобы задать один блок или модель. Используйте массив ячеек из символьных векторов или строковые скаляры, чтобы задать несколько блоков или моделей. Если вы не задаете этот аргумент пары "имя-значение", socModelAnalyzer функция включает все модели и блоки в отчете, за исключением блоков, заданных 'ExcludeBlockPath' аргумент пары "имя-значение". Используйте 'IncludeBlockPath' пара "имя-значение", когда у вас есть тестовая модель и вы только, хочет анализировать одну из моделей, которые это включает.

Пример: 'IncludeBlockPath','myModel.slx'

Пример: 'IncludeBlockPath',{'myModel.slx','myIfft'}

Модели или блоки, чтобы включать в сгенерированный отчет в виде вектора символов или строкового скаляра, чтобы задать один блок или модель. Используйте массив ячеек из символьных векторов или строковые скаляры, чтобы задать несколько блоков или моделей. Если вы не задаете этот аргумент пары "имя-значение", socModelAnalyzer функция включает все модели и блоки в отчете.

Пример: 'ExcludeBlockPath','myOtherModel.slx'

Пример: 'ExcludeBlockPath',{'myOtherModel.slx','myIfft'}

Отобразите многословные сообщения в виде 0 ложь) или 1 TRUE). Когда этим значением является 1 TRUE), функция отображает подробную информацию во время различных этапов выполнения.

Пример: 'Verbose',true

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

свернуть все

Количество оператора модели, возвращенное как структура пяти таблиц:

  • OperatorDetailedReport – Полностью подробный отчет на оператор

  • OperatorAggregatedReport – Агрегированное представление оператора, с одной линией для каждого типа оператора

  • OperatorHierarchicalReport – Иерархическое представление оператора

  • PathAggregatedReport – Агрегированное представление модели

  • PathHierarchicalReport – Представление модели Hierarchical

Каждая таблица содержит необработанные данные, из которых функция генерирует режим просмотра HTML и ссылку, чтобы просмотреть данные в окне отчета. Сгенерированный файл Excel имеет пять листов, содержа информацию из этих пяти таблиц. Для получения дополнительной информации о сгенерированном отчете, см. Используя Алгоритм Отчет Анализатора.

Ограничения

  • Эта функция не поддерживает блоки AUTOSAR Blockset или модели.

  • Эта функция не поддерживает Simulink, отправляют и получают сообщения.

Советы

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

  • Очистите параметр Treat as atomic unit в маске блока подсистемы.

  • Установите параметр Function packaging на Nonreusable function в подсистеме блокируют маску.

  • Измените одну из двух подсистем так, чтобы это не было идентично другому.

Введенный в R2020a