Matlab調用其他文件夾下的函數


Matlab有一個毛病,就是默認只能調用同一文件夾下的函數,或者已經添加到工具箱的函數。
但是平常在寫代碼時,有一些自己寫的函數是負責處理一類問題的,能不能像其它語言一樣,用文件夾裝起來,然后需要時,調用這個文件夾下的函數呢?
當然可以!你只需要在文件的第一行加入這句話:

addpath(genpath('.\lib'));

此時我的文件夾結構是這樣的

  • main.m
  • lib
    • func1.m
    • func2.m

這樣我們就可以在 main.m 中調用 func1func2 了。

當然,這樣做了以后,文件夾路徑就相當於永久添加到了matlab,如果后面不想用了(比如有時候,某些函數名相互沖突,需要去掉一個)。可用下面這段代碼移除文件夾路徑引用

rmpath(genpath('.\lib'));

如果你添加路徑后,忘了使用以上代碼進行刪除,又刪除了這個引入的代碼文件,那么在下次打開matlab時,就會報出類似下面的警告:

警告: 名稱不存在或不是目錄: XXXX

此時,在命令行窗口輸入:

edit pathdef.m

打開這個腳本文件,將會看到


p = [...
%%% BEGIN ENTRIES %%%
XXXX %你設置的路徑
XXXX

]

這里存儲了你曾經設置過的路徑,將他們手動刪除並保存就好了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM