当前位置:  开发笔记 > 编程语言 > 正文

如何在MATLAB中生成函数依赖项列表?

如何解决《如何在MATLAB中生成函数依赖项列表?》经验,为你挑选了2个好方法。

为了分发我编写的函数,它依赖于我编写的其他函数,它们有自己的依赖关系等等而不分发我写过的每个m文件,我需要弄清楚依赖项的完整列表是什么对于给定的m文件.是否有内置/可免费下载的方式来做到这一点?

具体来说,我对MATLAB 7.4.0(R2007a)的解决方案感兴趣,但如果在旧版本中有不同的方法,请务必在此处添加.



1> Azim..:

对于较新版本的Matlab(例如2007或2008),您可以使用内置函数:

    mlint

    依赖报告和

    报道报道

另一种选择是使用Matlab的分析器.该命令是profile,它也可以用于跟踪依赖项.要使用配置文件,您可以这样做

>> 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(2015a后)matlab.codetools.requiredFilesAndProducts.

看到答案

编辑:

致谢@Mike Katz的评论

请记住,Profiler只会显示实际在这些运行中使用的文件,因此如果您没有遍历每个分支,则可能还有其他依赖项.依赖关系报告是一个很好的工具,但只解析路径上的静态依赖关系,只解析单个目录中的文件.

Depfun更可靠,但为您提供了它可以想到的所有可能的东西,并且仍然错过了LOAD和EVAL.


Depfun更可靠,但为您提供了它可以想到的所有可能的东西,并且仍然错过了LOAD和EVAL.
请记住,Profiler只会显示实际在这些运行中使用的文件,因此如果您没有遍历每个分支,则可能还有其他依赖项.依赖关系repot是一个很好的工具,但只解析路径上的静态依赖关系,只解析单个目录中的文件.
尝试exportToZip(链接:http://www.mathworks.com/matlabcentral/fileexchange/10702).它是2009年9月18日当周的选择(链接:http://blogs.mathworks.com/pick/2009/09/18/easier-and-less-error-prone-creation-of-zip-files/ )

2> Jonas Stein..:

对于MATLAB 2015a以后,您最好查看 matlab.codetools.requiredFilesAndProducts

要么 doc matlab.codetools.requiredFilesAndProducts

因为depfun在将来的版本中标记为删除.

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有