当前目录更改时,Matlab addpath()不会粘在路径上?

时间:2012-03-09 03:35:50

标签: search-path matlab

我有matlab_xunit,这是一个包含一堆用于编写单元测试的函数的文件夹。它存储在../external/matlab_xunit中。我想调用runtests,它是这个包的一部分。以下是示例代码:

addpath(genpath('../external/matlab_xunit'))
runtests subdirectory

子目录是当前目录的子目录。 runtests的作用是将当前目录更改为子目录,然后它将在该文件夹中找到测试并运行测试。问题是,正如我发现的那样,只要当前目录发生变化,matlab_xunit就不再在路径上了。因此,所有函数runtests必须调用内部变得无效 - 它们只是'消失'。

无论如何围绕addpath()的这个缺点?

非常感谢!

1 个答案:

答案 0 :(得分:4)

使用完整路径。这可能会奏效:

addpath(genpath(fullfile(pwd,'../external/matlab_xunit')))