【问题标题】:Matlab addpath() does not stick on the path when current directory is changed?更改当前目录时,Matlab addpath() 不会粘在路径上?
【发布时间】:2012-03-09 03:35:50
【问题描述】:

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

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

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

解决 addpath() 的这个缺点吗?

非常感谢!

【问题讨论】:

    标签: search-path matlab


    【解决方案1】:

    使用完整路径。这可能会起作用:

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

    【讨论】:

    • 其实更好的办法是结合fileparts,这样路径名中就没有“..”了。这样就永远不会有任何冲突: addpath(genpath(fullfile(fileparts(pwd),'/external/matlab_xunit')))
    猜你喜欢
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 2019-01-13
    • 2019-09-20
    • 2019-08-30
    • 2015-02-27
    • 2019-05-10
    相关资源
    最近更新 更多