Ответ 1
Для более новых версий Matlab (например, 2007 или 2008) вы можете использовать встроенные функции:
- mlint
- отчет о зависимости и
- отчет о покрытии
Другой вариант - использовать профилировщик Matlab. Команда является профилем, ее также можно использовать для отслеживания зависимостей. Чтобы использовать профиль, вы можете сделать
>> profile on % turn profiling on
>> foo; % entry point to your matlab function or script
>> profile off % turn profiling off
>> profview % view the report
Если профилировщик недоступен, возможно, следующие две функции (для pre-MATLAB 2015a):
- depfun
- depdir
Например,
>> deps = depfun('foo');
дает структуру, deps, содержащую все зависимости foo.m.
Из ответов 2 и 3 новые версии MATLAB (post 2015a) Вместо этого используйте matlab.codetools.requiredFilesAndProducts
.
См. ответы
EDIT:
Предостережения благодаря комментариям @Mike Katz
Помните, что Profiler будет покажите файлы, которые были фактически использованы в этих прогонах, так что если вы не пойдете через каждую ветвь, вы можете иметь дополнительные зависимости. отчет о зависимости - хороший инструмент, но разрешает только статические зависимости путь и только файлы в единый каталог.
Depfun более надежный, но дает вам все возможное, о чем он может думать, и все еще пропускает LOAD и EVAL's.