在使用Matlab 2015部署Matlab代码包时,我遇到了从我的存储库收集所有必需文件以运行某个文件或文件集的问题。 Matlab有一种简化此过程的方法matlab.codetools.requiredFilesAndProducts。
但是,有时存储库中缺少某些文件(因为我从其他人那里得到了一个不小心的包,或者因为它没有在存储库中签入)。
运行代码时,当然会出错:
Undefined function or variable 'XXX'.
然而,这可能需要很长时间才能解决(运行需要很长时间,您必须为每个丢失的文件重复)。因此我想使用上面的功能。不幸的是,它只列出了输出中的现有文件(我对此进行了测试)。 matlab.codetools.requiredFilesAndProducts
省略了从您的代码调用但当前路径中不存在的函数。
我的问题:我想获取运行某个文件所需的所有文件的列表,但当前路径中不存在,以便我可以找到它们并将它们添加到我的集合中。
我知道这必须是一个迭代过程,因为丢失的文件本身可以调用其他丢失的文件,我知道会有误报,其中一些可能是未知变量,我知道丢失的文件会只有一个名字,没有路径(当然)。
我的问题:一次查找我的代码中可能丢失的文件列表的最简单方法是什么?
请注意最近版本的Matlab中的函数depfun
has been removed。