访问子文件夹中的m文件,而不将其永久添加到path中

我已经下载了许多子文件夹( 空间计量经济学工具箱 )中的许多文件的工具箱 ,用于一个特定的项目,我不想把它添加到path,因为我不认为我会养成使用它,我不知道是否要隐藏function说在统计工具箱。

如何访问此工具箱中的function? 有没有一种方法,可能编程方式将其添加到该path的脚本被调用的特定会话的Matlab? 处理这个问题的正确方法是什么?

将path添加到当前MATLAB会话的MATLABsearchpath的顶部 –

addpath(PATHNAME) 

与addpath相同,但对于下一个会话保持良好状态 –

 savepath(PATHNAME) 

仅添加当前MATLAB会话的所有子目录 –

 addpath(genpath(PATHNAME)) 

注意:添加path时一定要小心,因为如果有多个名称相同的函数文件,则selectpathstring中较高位置的函数文件。

更多信息 – addpath , savepath , genpath 。

我使用以下内容将我的函数保存在与主脚本相同的目录中的一个单独的“函数”文件夹中。 只要你知道工具箱function的path,这应该适合你。

 % 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()以可pipe理的方式获取那些漫长而多风的工具箱path。

感谢@Divakar的答案:

 addpath(genpath('Spatial Econometrics')) 

仅将包含其所有子文件夹的文件夹添加到此会话的path中。 除非调用savepath否则它不会保存到path中。