我有一些关于MATLAB搜索路径的问题:
当前目录在搜索路径中,但为什么它不在“path”输出中?在哪里可以找到完整的搜索路径?
添加搜索路径的所有可能方法是什么?
考虑到所有可能添加搜索路径的方法(例如,pathdef.m、startup.m、MATLABPATH环境变量等),搜索路径的添加顺序是什么?我认为这很重要,因为当不同搜索路径中存在同名文件时,会选择位于顶部的文件。
我有一些关于MATLAB搜索路径的问题:
当前目录在搜索路径中,但为什么它不在“path”输出中?在哪里可以找到完整的搜索路径?
添加搜索路径的所有可能方法是什么?
考虑到所有可能添加搜索路径的方法(例如,pathdef.m、startup.m、MATLABPATH环境变量等),搜索路径的添加顺序是什么?我认为这很重要,因为当不同搜索路径中存在同名文件时,会选择位于顶部的文件。
Amro提供的链接应该对回答你的问题非常有帮助。更具体地针对它们:
PATH 命令的输出将显示 pathdef.m
文件的内容,该文件应包括以下所有内容:
MATLAB 和其他 MathWorks 产品(即工具箱)所提供的文件夹。这些文件夹位于 MATLAB 根目录中,可以使用 MATLABROOT 函数找到。
MATLAB 用户文件夹(即 Windows 平台上的 我的文档\MATLAB
),可以使用 USERPATH 函数找到。
用户添加到路径文件的任何其他文件夹。
完整的 search path 包含上述内容以及当前目录。由于在 MATLAB 会话期间可以更改当前目录,因此当前目录不作为路径文件的一部分保存。您可以使用 PWD 函数找到当前文件夹。
search path 可以通过更改路径文件或当前目录来更改。您可以按以下方式修改路径文件:
使用 Set Path dialog box,该对话框可以从命令窗口中选择 文件 > 设置路径 或调用 PATHTOOL 函数打开。
当前目录可以通过以下方式更改:
当您使用上述方法修改路径文件时,新文件夹通常添加到路径列表的顶部。您可以使用 Set Path dialog box 更改路径文件中路径的顺序。
当有函数具有相同名称时,MATLAB 遵循以下函数优先级顺序来确定要使用哪个函数:
变量(如果变量与函数共享相同名称)
嵌套函数
子函数
私有函数
类构造函数
重载方法
当前目录中的函数
搜索路径上其他位置的函数
请注意,在搜索路径上其他位置的函数之前,将调用当前目录中的函数。此外,距离搜索路径顶部越近的文件优先于下面的文件。