如何使用不同的pathdef同时运行两个MATLAB实例?

2024-03-11

我正在开发自己的脑成像工具箱,在 MATLAB & SPM8 下运行,同时我有一个git clone我自己的工具箱代码目录(本地 git 存储库)的版本用于运行分析,此设置是根据 Kevin Reid 的回答创建的如何使用 git 同时处理多个不同版本的文件? https://stackoverflow.com/questions/10665752/how-to-work-simultaneously-on-several-different-versions-of-files-with-git,这解决了部分问题(如何拥有相同的不同版本.m文件可以同时访问,并且仍然可以通过使用进行同步git fetch or git pull).

但是,我的 MATLAB 安装不在这两个 git 目录中;它正常安装在/usr/local/MATLAB/R2012a/。 MATLAB 根据以下条件查找函数pathdef.m,它存储在which pathdef (/usr/local/MATLAB/R2012a/toolbox/local/pathdef.m) 作为常规函数。所以我不能让两个 MATLAB 实例同时运行,这样它们就有不同的pathdef的,至少不是通过修改pathdef.m file.

当然 MATLAB 必须事先知道去哪里寻找pathdef.m定义路径。有办法改变吗pathdef.m查找路径例如通过某些 MATLAB 命令行参数还是通过 MATLAB 控制台?或者通过其他方式,这样我就可以让两个 MATLAB 实例同时运行在不同的pathdef的?或者我应该将 MATLAB 安装在两个不同的目录中?我对这个问题的各种解决方案感兴趣。


让我提供一种替代方法。它涉及创建捷径 http://www.mathworks.com/help/matlab/matlab_env/create-matlab-shortcuts-to-rerun-commands.html在 MATLAB IDE 内。

只需创建两个快捷方式,每个快捷方式都包含以下内容:

addpath(genpath('/path/to/project_branch'))   %// add branch (and subfolders) to MATLAB path
cd('/path/to/project_branch')                 %// navigate to directory

(说明:调用addpath http://www.mathworks.com/help/matlab/ref/addpath.html不会在系统范围内保存更改,而只会在当前会话中持续存在,除非您调用savepath http://www.mathworks.com/help/matlab/ref/savepath.html)

现在,每当您启动新的 MATLAB 会话,并决定在一个或另一个分支上工作时,只需单击相应的快捷方式并开始破解...

更好的是,如果您将一个分支视为stable另一个作为dev,可以将稳定版本永久添加到路径中,并选择性地将开发版本添加到路径顶部addpath('...','-begin')使用快捷方式,从而仅隐藏当前会话的另一个分支。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用不同的pathdef同时运行两个MATLAB实例? 的相关文章

随机推荐