MATLAB配置的修改控制

MATLAB配置的修改控制,matlab,version-control,Matlab,Version Control,MATLAB安装的哪些文件或文件夹应处于修订控制之下 我指的不是我的代码、模型等,而是MATLABs配置文件、应用程序数据等。确保我的所有团队都具有相同设置所需的一切。管理此设置的最佳方法是使用初始化脚本。将其放在顶级项目文件夹中,并将其命名为一些好的名称: %% initMyProject.m % RestoreDefault restoredefaultpath(); set(0,'userdata',[]); clear classes; javaclasspath({}); %

MATLAB安装的哪些文件或文件夹应处于修订控制之下


我指的不是我的代码、模型等,而是MATLABs配置文件、应用程序数据等。确保我的所有团队都具有相同设置所需的一切。

管理此设置的最佳方法是使用初始化脚本。将其放在顶级项目文件夹中,并将其命名为一些好的名称:

%% initMyProject.m

% RestoreDefault
restoredefaultpath();
set(0,'userdata',[]);
clear classes;
javaclasspath({});  

% Matlab
addpath(fullfile(pwd,'lib','subdirA'))
addpath(fullfile(pwd,'lib','subdirB')) % ..etc

% Java
addpath(fullfile(pwd,'java','myJarA.jar') 
addpath(fullfile(pwd,'java','myJarB.jar') % ..etc

% Rendering
opengl('hardware');

% Solver
setparam(...)

disp('Initialization complete.')
然后,用户将编辑一个
startup.m
(as),以调用init脚本。此文件应放在Linux用户的主目录或C:/Users//Documents/Matlab目录(Windows)中:

这种方法有许多好处:

  • 执行svn更新或git拉取时,设置保持同步
  • 可以很好地扩展到多个项目、多个签出
  • 不需要管理员权限,不允许用户复制文件
  • 兼容Linux、Mac、PC和Matlab版本(比直接管理配置设置文件稳定得多)

restoreDefault方法有点笨手笨脚,但它们确实保证了一个干净的环境,因此请根据需要使用。

这取决于您的设置,不是吗?如果您希望相同的编辑器设置等,或者希望
startup.m
相同,则答案将不同……这取决于您希望在哪些方面相同(我不想问自己为什么要这样做……)例如:我希望对新用户的新安装有信心,因为新用户的所有设置都已经完成了,或者我可以部署新的虚拟机,这些虚拟机将从我自己的工作站或同事那里构建一个二进制相同的可执行文件。下面的文章提供了一些可以找到首选项的信息:-根据您的提问,我想知道您为什么要使用版本控制进行这样的部署。@bdecaf感谢您的链接。这些首选项命令似乎与GUI开发相关,并且具有特定于用户的值。我同意这些首选项对版本控制不感兴趣,但是,一般的Matlab和Simulink设置(对我来说)是。例如,新用户可能会工作数小时,但却发现他们的工作必须重复,因为他们没有使用正确的解算器(我们总是使用相同的解算器)。此外,错误的编译器设置可能会花费数小时的调查时间。如果使用VCS控制相关配置文件,则可以克服这两个问题。另请参阅“感谢”以获得答案。我没有意识到“全部清除”并不能清除某些东西!抱歉,我不能接受,因为有些事情仍然无法控制。e、 g.“mex”使用的编译器设置存储在“%USERPROFILE%\AppData\Roaming\MathWorks\MATLAB\\mexopts.bat”中(Windows 7默认),并且无论“路径”如何,都有效。
% startup.m
cd('C:\workspace\myProjectCheckout')
initMyProject()