MATLAB找到函数的引用

时间:2016-03-02 18:53:42

标签: matlab call

MATLAB有一些很棒的工具,其中this dependency listing function脱颖而出。我想知道,有没有办法执行逆操作?

也就是说,fList = matlab.codetools.requiredFilesAndProducts(files)接受函数或脚本并返回所有依赖项的列表。我试图做相反的事情:给定一个函数,我想找到调用此函数的所有函数,可能仅限于我的工作目录的范围。

我能想到的唯一解决方案是蛮力方法(考虑到matlab.codetools.requiredFilesAndProducts的速度,这种方式会非常慢慢)。在MATLAB-esque伪代码中:

foi = file of interest
files = empty set of file lists
i = 0;
for all files f in dir
    files{i} = matlab.codetools.requiredFilesAndProducts(f);
    i = i + 1;
end
find indices in files where list contains foi

当然必须有更好的方法。

2 个答案:

答案 0 :(得分:2)

我找到的最佳解决方案是使用MATLAB“查找文件”工具(在最新版本中,它是编辑器窗口上的一个按钮)。它实际上非常快,你可以让它搜索目录结构中的所有.m文件,并返回使用特定字符串的每一行 - 比如你的函数名称。

答案 1 :(得分:0)

查看documentation中的父母列表是否是您要查找的内容。它只在当前目录中查找,并且有一些排除。