我对MATLAB搜索路径有一些疑问:
- 当前目录在搜索路径上,但是为什么不在“ path”的输出中呢?在哪里可以找到完整的搜索路径?
- 添加搜索路径的所有可能方式是什么?
- 考虑添加搜索路径的所有可能方法(例如pathdef.m,startup.m,MATLABPATH env变量等),添加搜索路径的顺序是什么?我认为这很重要,因为当具有相同名称的文件位于不同的搜索路径中时,将选择顶部的文件。
回答:
Amro提供的链接在回答您的问题时应该会很有帮助。要更具体地解决它们:
- PATH的输出将显示pathdef.m文件的内容,该文件应包括以下所有内容:
- MATLAB和其他MathWorks产品(即工具箱)提供的文件夹。这些文件夹位于MATLAB根文件夹中,您可以使用MATLABROOT函数找到该文件夹。
- MATLAB用户文件夹(即Windows平台上的My Documents\MATLAB ),可以使用USERPATH函数找到。
- 用户已添加到路径文件的任何其他文件夹。
完整的搜索路径包含以上内容,以及当前目录的所有内容。当前目录不会保存为路径文件的一部分,因为可以在MATLAB会话期间进行更改。您可以使用PWD功能找到当前文件夹。
- 可以通过更改路径文件或当前目录来更改搜索路径 。您可以通过以下方式修改路径文件:
当前目录可以通过以下方式更改:
- 当使用上述方法修改路径文件时,通常会将新文件夹添加到路径列表的顶部。您可以使用“ 设置路径”对话框更改路径文件中路径的顺序。
当存在具有相同名称的函数时 ,MATLAB遵循以下函数优先级顺序来确定要使用的函数:
- 变量(如果变量与函数具有相同的名称)
- 嵌套功能
- 子功能
- 私人功能
- 类构造器
- 重载方法
- 当前目录中的功能
- 在搜索路径上的其他位置起作用
请注意,当前目录中的函数在搜索路径上的其他函数之前被调用。另外,最接近搜索路径顶部的文件优先于更下方的文件。
更多&回答...