2014-02-25 43 views
4

我已經下載了許多子文件夾中的很多文件的工具箱(spatial-econometrics toolbox)以供在一個特定項目上使用,我不想將它添加到路徑中,因爲我不認爲我會養成使用它的習慣,我不知道它是否會在統計工具箱中隱藏函數。在子文件夾中訪問m文件而不將其永久添加到路徑

如何訪問此工具箱中的功能?有沒有一種方法可能以編程方式將其添加到路徑中,僅用於腳本被調用的特定Matlab會話?處理這個問題的正確方法是什麼?

+1

正在使用「私人」文件夾這裏描述的一個好方法? http://stackoverflow.com/questions/1277613/how-do-i-emulate-include-behaviour-in-matlab – Dan

+3

addpath是僅用於當前會話的命令,更多信息 - http://www.mathworks.in /help/matlab/ref/addpath.html。 savepath是永久更改路徑的命令,更多信息 - http://www.mathworks.in/help/matlab/ref/savepath.html – Divakar

+0

@Divakar但是會永久性地將它添加到路徑中嗎?這不是我想要的。 – Dan

回答

6

路徑添加到的只有當前的MATLAB會話MATLAB的搜索路徑上 -

addpath(PATHNAME) 

一樣讓addpath,但保持良好的下一屆會議 -

savepath(PATHNAME) 

添加所有子目錄當前MATLAB僅會話 -

addpath(genpath(PATHNAME)) 

注意:添加路徑時一定要小心,因爲如果有多個具有相同名稱的函數文件,則選擇位於path字符串上的較高位置的函數文件。

更多的信息在這裏 - addpath,savepath,genpath

2

我使用以下內容將我的函數保存在與主腳本相同的目錄中的單獨'functions'文件夾中。只要你知道工具箱功能的路徑,這應該適合你。

% Add path (at beginning of script) 
added_path = [pwd,'/functions']; %change to: added_path = '/path' for your required path 
addpath(added_path); 

% Remove path (at end of script/script clean-up) 
rmpath(added_path); 

你可能想看看genpath()獲得在管理的方式那些漫長凜冽工具箱路徑。

2

感謝@Divakar的答案:

addpath(genpath('Spatial Econometrics')) 

將帶有其所有子文件夾的路徑,既是本屆大會的文件夾。除非調用savepath,否則它不會保存到路徑中。

+0

很高興能幫到你! – Divakar

相關問題