Если вам нужно знать, от каких других функций и сценариев зависит ваша программа, используйте один из методов, описанных ниже.
Для простого отображения всех программных файлов, на которые ссылается определенная функция, выполните следующие действия:
Напечатать clear
functions для удаления всех функций из памяти (см. примечание ниже).
Выполните функцию, которую требуется проверить. Обратите внимание, что аргументы функции, выбранные для использования на этом шаге, важны, поскольку при вызове одной и той же функции с разными аргументами можно получить разные результаты.
Напечатать inmem для отображения всех программных файлов, которые использовались при выполнении функции. Чтобы узнать, какие MEX-файлы также использовались, укажите дополнительный вывод:
[mfiles, mexfiles] = inmem
Для более подробного просмотра информации о зависимых функциях используйте matlab.codetools.requiredFilesAndProducts функция. В дополнение к файлам программ, matlab.codetools.requiredFilesAndProducts показывает, от каких продуктов MathWorks ® зависит конкретная функция. Если у вас есть функция ,myFun, что призывает edge в Toolbox™ Обработка изображений:
[fList,pList] = matlab.codetools.requiredFilesAndProducts('myFun.m');
fListfList =
'C:\work\myFun.m'Единственным обязательным программным файлом является сам функциональный файл, myFun.
{pList.Name}'ans =
'MATLAB'
'Image Processing Toolbox'Файл, myFun.m, требуется как MATLAB ®, так и панель инструментов обработки изображений.
В отчете о зависимостях отображаются зависимости между файлами кода MATLAB в папке. Этот отчет используется для определения:
Какие файлы в папке требуются другим файлам в папке
Если файлы в текущей папке окажутся неуспешными при удалении файла
Если какие-либо вызываемые файлы отсутствуют в текущей папке
Отчет не содержит:
Файлы в toolbox/matlab потому что эти файлы есть у каждого пользователя MATLAB.
Таким образом, если используется файл функции, который затеняет встроенный файл функции, MATLAB исключает оба файла из списка.
Файлы, вызываемые из анонимных функций.
Суперкласс для файла класса.
Файлы, вызываемые из eval, evalc, run, load, дескрипторы функций и обратные вызовы.
MATLAB не разрешает эти файлы до выполнения, и поэтому отчет о зависимостях не может обнаружить их.
Некоторые файлы методов.
Отчет о зависимостях находит конструкторы классов, вызываемые в файле MATLAB. Однако любые методы, выполняемые для результирующего объекта, неизвестны для отчета. Эти методы могут существовать в classdef в виде отдельных файлов методов или файлов, принадлежащих к суперклассу или суперклассам файла методов.
Для получения значимых результатов в отчете о зависимостях требуется следующее:
Путь поиска при выполнении отчета тот же, что и при выполнении файлов в папке. (То есть текущая папка находится в верхней части пути поиска.)
Файлы в папке, для которой выполняется отчет, не изменяют путь поиска и не манипулируют им иным образом.
Файлы в папке не загружают переменные или иным образом создают конфликты имен, которые приводят к различным элементам программы с одинаковыми именами.
Примечание
Не используйте отчет о зависимостях, чтобы определить, какие файлы кода MATLAB необходимы для запуска определенного файла. Вместо этого используйте matlab.codetools.requiredFilesAndProducts функция.
Используйте панель Текущая папка (Current Folder), чтобы перейти к папке, содержащей файлы, для которых требуется создать отчет о зависимостях.
На панели Текущая папка щелкните,
а затем выберите Отчеты > Отчет о зависимостях.
Отчет о зависимостях открывается в веб-браузере MATLAB.
При необходимости выберите один или несколько параметров в отчете следующим образом:
Чтобы просмотреть список всех файлов кода MATLAB (дочерних файлов), вызываемых каждым файлом в папке (родительском файле), выберите Показать дочерние функции.
В отчете указывается, где находится каждая дочерняя функция, например, в указанной панели инструментов. Если в отчете указано, что местоположение дочерней функции неизвестно, это может быть связано с:
Дочерняя функция отсутствует в пути поиска.
Дочерняя функция отсутствует в текущей папке.
Файл был перемещен или удален.
Для вывода списка файлов, вызывающих каждый файл кода MATLAB, выберите Показать родительские функции.
Отчет ограничивает родительские (вызывающие) функции функциями в текущей папке.
Чтобы включить локальные функции в отчет, выберите Показать подфункции. В отчете перечисляются локальные функции непосредственно после основной функции и выделяются серым цветом.
Щелкните Выполнить отчет по текущей папке.
На следующем рисунке показан отчет о зависимостях. Это указывает на то, что chirpy.m вызывает два файла в Toolbox™ обработки сигналов и один в панели инструментов обработки изображений. Это также показывает, что go.m требования mobius.m, которая находится в текущей папке.

Отчет о зависимостях включает следующее:
Список файлов MATLAB
Список файлов в папке, в которой выполнялся отчет о зависимостях. Щелкните ссылку в этом столбце, чтобы открыть файл в редакторе.
Дети
Функция или функции, вызываемые файлом MATLAB.
Щелкните ссылку в этом столбце, чтобы открыть файл MATLAB, указанный в той же строке, и перейдите к первой ссылке на вызываемую функцию. Например, предположим, что отчет о зависимостях отображается, как показано на предыдущем рисунке. Если щелкнуть\images\images\erode.m, откроется chirpy.m и размещает курсор в первой строке, которая ссылается на erode. Другими словами, он не открывается erode.m.
Несколько методов классов
Поскольку отчет является статическим анализом, он не может определять типы данных времени выполнения и, следовательно, не может идентифицировать определенные методы классов, требуемые для файла. Если метод, на который указывает ссылка, соответствует нескольким методам классов, в отчет о зависимостях вставляется ссылка на вопросительный знак рядом с именем файла. Вопросительный знак отображается на следующем рисунке.

Щелкните ссылку вопросительного знака, чтобы перечислить методы классов с указанным именем, которое может использоваться MATLAB. MATLAB перечисляет почти все файлы методов на пути поиска, которые соответствуют указанному файлу метода (в данном случае freqresp.m). Не беспокойтесь, если список включает методы классов и встроенные функции MATLAB, незнакомые вам.
Нет необходимости определять, какой файл будет использоваться MATLAB. MATLAB определяет метод, который будет использоваться в зависимости от объекта, вызываемого программой во время выполнения.