簡體   English   中英

如何更新MATLAB路徑?

[英]How do I update the MATLAB path?

有時當我在路徑中添加新文件時,我必須重新啟動MATLAB,否則將無法檢測到。 必須有另一種方法!

我遇到過類似的問題(當我更改文件時,Matlab沒有注意到它)。 不幸的是,我不知道是什么導致它或如何解決它。 我通常發現CLEAR ALL可以解決問題,但請注意它會清除工作空間中的所有變量。 一些'REHASH'命令(例如, REHASH TOOLBOXRESET )也可能有用。

我希望看到更好的答案; 我遇到的所有文檔似乎表明這不可能發生。

也許這是Matlab在啟動時緩存某些文件以提高性能的問題。 這發生在某些目錄中的文件中。

從Matlab幫助path命令:

注意 (...)另請注意,在每個MATLAB會話開始時,matlabroot / toolbox目錄樹中的文件位置都會加載並緩存在內存中,以提高性能。 如果使用外部編輯器將文件保存到matlabroot / toolbox目錄,或者使用文件系統操作在這些目錄中添加或刪除文件,請在使用當前會話中的文件之前運行rehash toolbox。 如果使用外部編輯器更改matlabroot / toolbox目錄中的現有文件,請在使用當前會話中的文件之前運行clear functionname。 有關更多信息,請參閱MATLAB桌面工具和開發環境文檔中的rehash參考頁面或Toolbox Path Caching主題

我經常看到這種情況發生在網絡文件位置。 我不明白機制,但肯定會發生。 經常有效的解決方案:

path(path);

或者,如果沒有拿起它,試試這個:(注意,這將清除你的工作區)

clear classes;
path(path);

我們這么做了最后一個,我們把它放在我們公共代碼路徑上的腳本中:

shazaam;

是的,我的年齡正在顯現。

您需要“rehash”功能,或者需要使用“path(path)”或類似功能再次設置路徑。 這還取決於你是否使用“凍結”路徑。 看看ADDPATH的幫助。

MATLAB將保留已編譯的M文件的緩存副本,除非它知道您已更改它。 如果您已經創建了文件,或者您已經在MATLAB之外編輯了它,那么它可能不知道它已被更改。

當網絡驅動器連接丟失然后恢復時,這種情況發生在我身上。 rehash不起作用,但rehash toolboxreset

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM