2016-03-02 110 views
1

MATLAB有一些很棒的工具,其中this dependency listing function脫穎而出。我想知道,有沒有辦法執行逆操作?MATLAB找到功能參考

也就是說,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 

當然,必須有更好的方法。

回答

0

看看父母上市dependency report是你在找什麼。它只在當前目錄中查找,並且有一些排除。

1

我發現的最佳解決方案是使用MATLAB的「查找文件」工具(在最新版本中,它是編輯器窗口上的按鈕)。它實際上非常快,你可以讓它搜索目錄結構中的所有.m文件,並返回每一行使用特定字符串的地方 - 比如說,函數的名稱。