如何使用MATLAB搜索路径

Tim*_*Tim 9 directory matlab path search-path

我对MATLAB搜索路径有一些疑问:

  1. 当前目录位于搜索路径上,但为什么它不在"path"的输出中?我在哪里可以找到完整的搜索路径?

  2. 添加搜索路径的所有可能方法是什么?

  3. 考虑添加搜索路径的所有可能方法(例如pathdef.m,startup.m,MATLABPATH env变量等),添加的搜索路径的顺序是什么?我认为这很重要,因为当不同搜索路径中存在同名文件时,将选择顶部的文件.

gno*_*ice 10

Amro提供的链接应该非常有助于回答您的问题.更具体地解决它们:

  1. PATH的输出将显示pathdef.m文件的内容,其中应包括以下所有内容:

    • 文件夹随MATLAB和其他MathWorks产品(即工具箱)一起提供.这些文件夹位于根MATLAB文件夹中,您可以使用MATLABROOT函数找到该文件夹.

    • MATLAB用户文件夹(即My Documents\MATLAB在Windows平台上),可以使用USERPATH函数找到.

    • 用户已添加到路径文件的任何其他文件夹.

    完整的搜索路径包含上述内容以及当前目录.当前目录不会保存为路径文件的一部分,因为它可以在MATLAB会话期间更改.您可以使用PWD功能找到当前文件夹.

  2. 搜索路径可以通过改变路径文件或当前目录改变.您可以通过以下方式修改路径文件:

    并且可以通过以下方式更改当前目录:

  3. 使用上述方法修改路径文件时,通常会将新文件夹添加到路径列表的顶部.您可以使用" 设置路径"对话框更改路径文件中路径的顺序.

    当存在共享相同名称函数时,MATLAB遵循以下函数优先顺序来确定要使用的函数:

    • 变量(如果变量与函数共享同一名称)

    • 嵌套功能

    • 子功能

    • 私人功能

    • 类构造函数

    • 重载方法

    • 功能在当前目录中

    • 搜索路径上的其他功能

    请注意,当前目录中的函数在搜索路径上的其他位置之前调用.此外,最靠近搜索路径顶部的文件优先于进一步向下的文件.