什麼是 MATLAB 搜尋路徑?
什麼是 MATLAB 搜尋路徑?
什麼是搜尋路徑?
MATLAB® 搜尋路徑是檔案系統中所有資料夾的子集。
MATLAB 使用搜索路徑來高效地定位用於 MathWorks® 產品的檔案。
搜尋路徑上的資料夾順序十分重要。當在搜尋路徑上的多個資料夾中出現同名檔案時,MATLAB 將使用搜索路徑中最靠前的資料夾中的檔案。
預設情況下,搜尋路徑包括以下資料夾
MATLAB userpath 資料夾,它在啟動時新增到搜尋路徑中,並且是用於儲存使用者檔案的預設位置
作為 MATLABPATH 環境變數的一部分定義的資料夾
MATLAB 和其他 MathWorks 產品的資料夾,它們位於 matlabroot/toolbox 下面,其中 matlabroot 是在命令列視窗中執行 matlabroot 時顯示的資料夾。
類、包、private 和 resources 資料夾是特殊資料夾,無法顯式指定為搜尋路徑的一部分。當特殊資料夾的父資料夾指定為路徑的一部分時,該特殊資料夾會隱式新增到搜尋路徑中。要訪問特殊資料夾中的檔案和資料夾,必須將其父資料夾新增到路徑中。
您可以將您執行的檔案的資料夾明確新增至搜尋路徑。有關將檔案新增到搜尋路徑的詳細資訊,請參閱更改搜尋路徑上的資料夾。
在 MATLAB Online 中,所有資料夾都會自動新增到路徑。
搜尋路徑上的 userpath 資料夾
userpath 資料夾在搜尋路徑上處於第一位。預設情況下,MATLAB 將在啟動時將 userpath 資料夾新增至搜尋路徑。此資料夾是儲存用於 MATLAB 的檔案的便利位置。
預設的 userpath 資料夾因平臺而異。
Windows® 平臺 - %USERPROFILE%/Documents/MATLAB。
Mac 平臺 - $home/Documents/MATLAB。
Linux® 平臺 - $home/Documents/MATLAB(如果 $home/Documents 存在)。
MATLAB Online™ — /users/youruserid.
或者,要確定或更改當前的 userpath 資料夾,請呼叫 userpath。
預設情況下,userpath 資料夾也是您在雙擊 Windows 系統上的 MATLAB 快捷方式或 Mac 系統上的 MATLAB 應用程式啟動 MATLAB 時的啟動資料夾。
MATLABPATH 環境變數
MATLABPATH 環境變數可包含其他一些要在啟動時新增到 MATLAB 搜尋路徑的資料夾。這些資料夾被置於 userpath 資料夾之後,但先於 MathWorks 的資料夾。預設情況下未設定 MATLABPATH 環境變數。有關如何設定 MATLABPATH 環境變數的詳細資訊,請參閱設定 MATLABPATH 環境變數。
確定檔案和資料夾是否處於搜尋路徑上
確定檔案和資料夾是否處於搜尋路徑上的方法有多種。您可以檢查單獨的檔案或資料夾是否處於搜尋路徑上,也可以檢視整個搜尋路徑。
檢查檔案或資料夾是否處於搜尋路徑上
要確定檔案是否處於搜尋路徑上,請執行 which filename。如果檔案處於搜尋路徑上,MATLAB 將返回檔案的完整路徑。
要確定檔案或資料夾是否處於搜尋路徑上,請使用當前資料夾瀏覽器。不在路徑上的檔案和資料夾將灰顯。要確保已對當前資料夾瀏覽器進行設定,使之指示檔案或資料夾是否在搜尋路徑上,請右鍵點選任一檔案或資料夾,然後選擇指示不在路徑中的檔案選項。
將指標懸停在當前資料夾瀏覽器中任何灰顯的檔案或資料夾之上以查明其灰顯原因。此時會開啟一個包含說明的工具提示。工具提示往往會指示檔案或資料夾不在 MATLAB 路徑上。如果沒有顯示工具提示,則它可能已被禁用。要啟用工具提示,請進入主頁選項卡,並在環境部分點選 預設。然後,選擇 MATLAB > 當前資料夾。選擇顯示工具提示,說明檔案無法訪問的原因以顯示工具提示。
檢視整個搜尋路徑
執行 path 命令以檢視位於 MATLAB 搜尋路徑上的所有資料夾。
此外,可以使用“設定路徑”對話方塊來檢視整個 MATLAB 搜尋路徑。在主頁選項卡上的環境部分中,點選設定路徑。“設定路徑”對話方塊隨即開啟,其中列出了搜尋路徑上的所有資料夾。有關使用“設定路徑”對話方塊的詳細資訊,請參閱更改搜尋路徑上的資料夾。
搜尋路徑不是系統路徑
搜尋路徑與系統路徑不同。此外,MATLAB 搜尋路徑與系統路徑之間沒有任何顯式關係。但是,兩個路徑都有助於找到檔案,具體如下所述:
MATLAB 使用搜索路徑更高效地找到 MATLAB 檔案。
作業系統可使用系統路徑高效地找到作業系統檔案。
MATLAB 如何儲存搜尋路徑
MATLAB 將搜尋路徑資訊儲存在 pathdef.m 檔案中。此檔案包含一系列完整路徑名稱,搜尋路徑上的每個資料夾對應其中一個。
預設情況下,pathdef.m 位於 matlabroot/toolbox/local 中。
當您更改搜尋路徑時,MATLAB 會在當前會話中使用該路徑,但不會更新 pathdef.m。要在當前和以後的會話中使用修改後的搜尋路徑,可以使用 savepath 或“設定路徑”對話方塊中的儲存按鈕來儲存所做的更改。這將更新 pathdef.m。
在 MATLAB Online 中,將自動儲存對搜尋路徑的所有更改。