For newer releases of Matlab (eg 2007 or 2008) you could use the built in functions:
- mlint
- dependency report and
- coverage report
Another option is to use Matlab's profiler. The command is profile, it can also be used to track dependencies. To use profile, you could do
>> profile on % turn profiling on
>> foo; % entry point to your matlab function or script
>> profile off % turn profiling off
>> profview % view the report
If profiler is not available, then perhaps the following two functions are:
- depfun
- depdir
For example,
>> deps = depfun('foo');
gives a structure, deps, that contains all the dependencies of foo.m.
If you don't have access to any of these built in Matlab functions you could try searching through Mathworks Central File Exchange. For example there is one item fdep that seems promising but I haven't tried or tested yet.
EDIT:
Caveats thanks to @Mike Katz comments
Remember that the Profiler will only
show you files that were actually used
in those runs, so if you don't go
through every branch, you may have
additional dependencies. The
dependency report is a good tool, but
only resolves static dependencies on
the path and just for the files in a
single directory.
Depfun is more reliable but gives you
every possible thing it can think of,
and still misses LOAD's and EVAL's.