Matlab: 如何查找路径上使用给定函数的函数

11
有时候我需要更改函数的行为。是否有一个简单的方法可以找到使用该函数的函数(在 matlab 路径上)?
4个回答

11

我做这件事的方法是查找包含我感兴趣的函数名称的文件。因此,我不仅可以看到谁调用了我的函数,还可以看到他们使用的签名。

在编辑器中:编辑->查找文件


1
+1 不知何故我从未知道这个存在,谢谢 Jonas!通常我使用一个外部工具 Agent Ransack 来搜索文件中的文本。 - Amro

4

help deprpt开始。

编辑:运行依赖性报告时,报告窗口顶部有3个复选框。其中一个默认未选中,称为“显示父函数(仅当前文件夹)”。这可能是您想要的开始,但它仅适用于单个文件夹。

如果您需要更多,请尝试使用edit deprpt.m


deprpt做的与我想要的相反:它查找给定文件依赖的文件 - 或者我可能错过了什么? - Alain
@Doresoom:我的解决方案适用于整个Matlab路径,因此我认为它并不比不完整的解决方案差太多。尽管如此,+1以抵消-1。 - Jonas
@Jonas:我完全同意你的解决方案-我投了赞成票。抱歉,这里只是个人偏好在作祟。 - Doresoom

2
我会使用像 grep 这样的工具。我几年前在文件交换中发布了一个名为 mgrep 的工具。它可以搜索给定字符串的整个 m 文件目录,并递归地向下搜索子目录。因此,要查找我的目录中调用 fminsearch 函数的函数,我只需在命令行中执行以下命令。 mgrep('fminsearch','.','show','off') 正在搜索目录... /Users/woodchips/Desktop/My_FEX/cylinderfit.m /Users/woodchips/Desktop/My_FEX/fminspleas.m /Users/woodchips/Desktop/My_FEX/fminspleas2.m /Users/woodchips/Desktop/My_FEX/fminspleas3.m /Users/woodchips/Desktop/My_FEX/fminspleasnnls.m /Users/woodchips/Desktop/My_FEX/BoundedFSOLVE/fsolvebnd.m /Users/woodchips/Desktop/My_FEX/FMINSEARCHBND/fminsearchbnd.m ...

-1

你的意思是查找依赖关系吗?那应该是工具 -> 显示依赖报告。


2
工具 -> 显示依赖关系报告执行的与我想要的相反:它查找给定文件所依赖的文件。 - Alain

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接