socFunctionAnalyzer

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

Описание

пример

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

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

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

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

  • Count - Количество раз, когда оператор выполняется в проекте

  • Operator - Используемый оператор

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

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

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

пример

socFunctionAnalyzer(functionName,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.

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

свернуть все

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

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

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

Аргументы в виде пар имя-значение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

Счетчик оператора функции, возвращенный как структура из пяти таблиц:

  • OperatorDetailedReport - Полный подробный отчет по операторам

  • OperatorAggregatedReport - Совокупный вид оператора с одной линией для каждого типа оператора

  • OperatorHierarchicalReport - Представление иерархического оператора

  • PathAggregatedReport - Представление агрегированной модели

  • PathHierarchicalReport - Вид иерархической модели

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

Анализ выхода функции, возврат в качестве выхода functionName входная функция.

Введенный в R2020a