2010-01-25 87 views
7

我有一个关于MATLAB的搜索路径的一些问题:如何使用MATLAB搜索路径

  1. 当前目录是在搜索路径,但它为什么没有在“路径”的输出?我在哪里可以找到完整的搜索路径?

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

回答

10

Amro提供的链接应该是非常有帮助的解答您的问题。为了更具体地解决这些问题:

  1. PATH输出将显示pathdef.m文件的内容,其中应包括以下所有条件:提供MATLAB和其他MathWorks产品(

    • 文件夹即工具箱)。这些文件夹位于MATLAB的根文件夹中,您可以使用MATLABROOT函数找到这些文件夹。

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

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

    完整的search path包含上述内容,加上当前目录。当前目录不会保存为路径文件的一部分,因为它可以在MATLAB会话期间进行更改。您可以使用PWD函数找到当前文件夹。

  2. 可以通过更改路径文件或当前目录来更改search path。您可以修改通过以下方式的路径文件:

    而且当前目录可以通过以下方式改变:

  3. 当您使用上述方法修改路径文件时,通常会将新文件夹添加到路径列表的顶部。您可以使用Set Path dialog box更改路径文件中路径的顺序。

    当存在share the same name,MATLAB遵循以下function precedence order以确定功能要使用哪个函数:

    • 变量(如果一个变量共享相同的名称作为一个功能)

    • 嵌套函数

    • 子功能

    • 私人功能

    • Class构造

    • 重载方法

    • 功能在当前目录

    • 功能别处的搜索路径上

    。注意,在一个功能当前目录在搜索路径的其他地方被调用。此外,距离搜索路径顶部最近的文件优先于文件更远的文件。