【问题标题】:MATLAB add path temporarily [duplicate]MATLAB临时添加路径[重复]
【发布时间】:2020-12-16 00:04:27
【问题描述】:

我正在处理一个包含一些子项目的项目。每个子项目都位于一个自己的文件夹中。

projDir/subProj1
       /subProj2

等等。每个子项目都是一个独立运行的项目。但是现在我想在subProj2中使用subProj1的一些功能。但是subProj1 中的函数一般不应该是可见的。因此,一般将subProj1-path 添加到 MATLAB-Path 并不是一个好主意。因此,我想将此路径添加到存储在subProj2 中的 .m 文件中,并且在完成此脚本后,该路径应该由它自己(自动)删除。有没有可能临时添加一个路径到 MATLAB-path 变量?

【问题讨论】:

    标签: matlab


    【解决方案1】:

    addpath 函数仅将文件/文件夹添加到当前 Matlab 会话的路径中,假设您不调用 savepath。如果您想添加子文件夹,您还可能会发现 genpath 函数很有帮助。

    【讨论】:

    • 啊哈,好的,谢谢。我以为addpath 会永久添加路径。我会试试...
    • @paul_schaefer 我也有同样的想法。我想我什至写信给 Mathworks,要求他们在文档中澄清这一点。也许你也可以这样做?
    • 好的,这行得通。非常感谢。有趣的是,因为在文档中他们明确指出,在函数内调用 addpath 仍然存在,即使函数已离开。另一方面,他们建议在启动脚本中使用它来修改启动 MATLAB 后的路径....
    • 然而,对路径所做的更改,即使没有保存,也可能会影响稍后在同一会话中调用的其他函数的执行(如文档中所指出的)——这可能是不可取的。对仅具有函数范围的路径进行更改会很好,而无需创建临时本地路径定义文件。
    【解决方案2】:

    您可以使用path(path_to_add,path) 将路径添加到当前路径变量。除非您执行savepath,否则您不会影响全局路径。

    我会在您拥有的 config .m 脚本中执行 path(strcat(pwd,'\subProj1',path) 等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-21
      • 2013-12-25
      • 2012-04-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多