文档

识别项目依赖关系

如果需要知道程序依赖于哪些其他函数和脚本,可以使用下面描述的一种技术。

程序文件依赖关系的简单显示

要简单地显示由特定函数引用的所有程序文件,请遵循以下步骤:

  1. 类型清晰的功能从内存中清除所有函数(参见下面的注释)。

    请注意

    清晰的功能不清功能锁定由mlock.如果您有锁定的功能(您可以使用inmem)用munlock,然后重复步骤1。

  2. 执行要检查的函数。请注意,在此步骤中选择使用的函数实参非常重要,因为在使用不同实参调用同一函数时可能会得到不同的结果。

  3. 类型inmem显示函数运行时使用的所有程序文件。如果你想查看还使用了哪些mex文件,指定一个额外的输出:

    [mfiles, mexfiles] = inmem

程序文件依赖项的详细显示

有关相关函数信息的更详细显示,请使用matlab.codetools.requiredFilesAnd下载188bet金宝搏Products函数。除了程序文件,matlab.codetools.requiredFilesAnd下载188bet金宝搏Products显示了哪些MathWorks®下载188bet金宝搏某一特定功能所依赖的产品。如果有一个函数,myFun,那叫边缘函数在图像处理工具箱™:

[弗利斯特雨,pList] = matlab.codetools.requiredFilesAnd下载188bet金宝搏Products (“myFun.m”);弗利斯特雨
弗利斯特雨= C: \ \ myFun.m工作的

唯一需要的程序文件是函数文件本身,myFun

{pList。名称}’
ans = 'MATLAB' '图像处理工具箱'

这个文件,myFun.m,需要MATLAB®以及图像处理工具箱。

文件夹中的依赖项

依赖性报告显示了一个文件夹中MATLAB代码文件之间的依赖性。使用此报告来确定:

  • 文件夹中的哪些文件是该文件夹中的其他文件所需要的

  • 如果删除文件,则当前文件夹中的任何文件都将失败

  • 如果当前文件夹中缺少任何调用的文件

该报告没有列出:

  • 文件matlab工具箱/文件夹,因为每个MATLAB用户都有这些文件。

    因此,如果您使用一个遮蔽内置函数文件的函数文件,MATLAB会从列表中排除这两个文件。

  • 从匿名函数调用的文件。

  • 类文件的超类。

  • 文件从evalevalc运行负载、函数句柄和回调。

    MATLAB直到运行时才解析这些文件,因此依赖性报告无法发现它们。

  • 一些方法文件。

    依赖报告查找您在MATLAB文件中调用的类构造函数。但是,在结果对象上执行的任何方法都不为报告所知。这些方法可以存在于classdef文件,作为单独的方法文件,或属于方法文件的超类或超类的文件。

为了提供有意义的结果,依赖关系报告需要以下内容:

  • 运行报表时的搜索路径与运行文件夹中的文件时的搜索路径相同。(也就是说,当前文件夹位于搜索路径的顶部。)

  • 运行报表的文件夹中的文件不会更改搜索路径或对其进行操作。

  • 文件夹中的文件不会加载变量,也不会创建名称冲突,从而导致具有相同名称的不同程序元素。

请注意

不要使用依赖报告来确定其他人需要哪些MATLAB代码文件来运行某个特定文件。而不是使用matlab.codetools.requiredFilesAnd下载188bet金宝搏Products函数。

创建依赖关系报告

  1. 使用“当前文件夹”窗格导航到包含要为其生成依赖项报告的文件的文件夹。

    请注意

    当路径是UNC(通用命名约定)路径时,不能运行报表;这是一条始于\\.相反,请使用系统上的实际硬盘驱动器,或映射的网络驱动器。

  2. 在“当前文件夹”窗格上,单击,然后选择报告>依赖报告

    依赖报告在MATLAB Web浏览器中打开。

  3. 如果您愿意,可以在报告中选择一个或多个选项,如下所示:

    • 要查看文件夹(父文件)中每个文件调用的所有MATLAB代码文件(子文件)的列表,请选择显示子函数

      该报告指出每个子函数驻留的位置,例如,在指定的工具箱中。如果报告指定子函数的位置是未知的,这可能是因为:

      • 子函数不在搜索路径上。

      • 子函数不在当前文件夹中。

      • 文件被移动或删除。

    • 若要列出调用每个MATLAB代码文件的文件,请选择显示父函数

      该报告将父(调用)函数限制为当前文件夹中的函数。

    • 若要在报表中包含本地函数,请选择显示子功能.报告直接在主函数之后列出局部函数,并用灰色突出显示它们。

  4. 点击运行“当前文件夹报告”

读取和使用依赖报表

下图显示了一个依赖项报告。它表明,chirpy.m调用信号处理工具箱™中的两个文件和图像处理工具箱中的一个文件。它还表明go.m调用mobius.m,在当前文件夹中。

依赖关系报告包括以下内容:

  • MATLAB文件列表

    运行依赖项报告的文件夹中的文件列表。单击此列中的链接以在编辑器中打开该文件。

  • 孩子们

    由MATLAB文件调用的一个或多个函数。

    单击此列中的链接打开同一行中列出的MATLAB文件,并转到被调用函数的第一个引用。例如,假设您的依赖报告如上图所示。点击图片\ \ \ erode.m图像打开chirpy.m并将光标放在引用的第一行侵蚀.换句话说,它不能打开erode.m

  • 多个类方法

    因为报告是静态分析,它不能确定运行时数据类型,因此不能识别文件所需的特定类方法。如果多个类方法匹配一个引用的方法,则Dependency Report在文件名旁边插入一个问号链接。问号出现在下图中。

    单击问号链接,列出MATLAB可能使用的具有指定名称的类方法。MATLAB列表几乎所有的搜索路径上与指定方法文件匹配的方法文件(在本例中,freqresp.m).如果列表中包含您不熟悉的类方法和MATLAB内置函数,请不要担心。

    您没有必要确定MATLAB将使用哪个文件。MATLAB根据程序在运行时调用的对象来决定使用哪个方法。