socFunctionAnalyzer

Оцените количество операций в функции MATLAB

Описание

пример

socFunctionAnalyzer(functionName) генерирует отчет с предполагаемым количеством операций в MATLAB® функция задана functionName.

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

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

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

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

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

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

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

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

пример

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

пример

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

пример

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

Примеры

свернуть все

Этот пример вычисляет количество динамических операций и статических операторов в функциональном soc_test_func.m.

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

soc_test_func берет два входных параметра типа uint32. Используйте FunctionInputs аргумент, чтобы создать отчет с 10 и 20 как входные параметры к soc_test_func функция. Динамический отчет сгенерирован в папке под названием report.

socFunctionAnalyzer('soc_test_func.m','FunctionInputs',{10,20},"Folder","report");

Просмотрите сгенерированный отчет

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

Результат показывает что ADD оператор используется 50 раз с типом данных double. Вызов myloop выполняется однажды с типом данных uint32, и MUL оператор используется 50 раз с типом данных uint32.

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

Чтобы статически вычислить количество операторов в функции (а не количество операций, выполняемых в процессе моделирования), используйте аргумент пары "имя-значение" 'AnalysisMethod'.

socFunctionAnalyzer('soc_test_func.m','AnalysisMethod','static','FunctionInputs',{10,20},"Folder","report");

Чтобы просмотреть отчет статического анализа, щелкните по ссылке названное Открытое средство просмотра отчета. Отчет открывается в отдельном окне:

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

свернуть все

Функция MATLAB, чтобы анализировать в виде вектора символов или строкового скаляра, который указывает на имя функции или имя файла.

Пример: 'soc_analyze_FFT_tb.m'

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

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

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

Пример: socFunctionAnalyzer('mySocFunction.m','Folder','report_sym')

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

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

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

Входные параметры для функции, которая будет анализироваться в виде массива ячеек. socFunctionAnalyzer функция выполняет функцию, которая будет анализироваться, functionName, с этими заданными значениями как входные параметры. Если вы не задаете этот аргумент значения имени, то socFunctionAnalyzer передачи никакие аргументы к functionName.

Если functionName ожидает входные параметры, затем необходимо задать этот аргумент пары "имя-значение". В противном случае, socFunctionAnalyzer функциональные ошибки.

Пример: 'FunctionInputs',{10,fi(20)}

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

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

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

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

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

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

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

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

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

Пример: 'IncludeFunction','myFunc.m'

Пример: 'IncludeFunction',{'myFunc.m','func2'}

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

Пример: 'ExcludeFunction','myFunc.m'

Пример: 'ExcludeFunction',{'myFunc.m','func2'}

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

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

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

свернуть все

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

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

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

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

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

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

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

Анализируемый функциональный выходной параметр, возвращенный как выход functionName функция ввода.

Введенный в R2020a