2010-01-25 85 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構造

    • 重載方法

    • 功能在當前目錄

    • 功能別處的搜索路徑上

    。注意,在一個功能當前目錄在搜索路徑的其他地方被調用。此外,距離搜索路徑頂部最近的文件優先於文件更遠的文件。