我经常在几台计算机(家庭和工作)之间切换,我已经意识到我正在使用的几个Matlab脚本没有相同路径的问题。
我想知道是否有根据计算机名称自动更改路径的方法。
在我的每台计算机中,我都有一个 startup.m 脚本,默认设置所有的opitons。在这个m文件中,我检索计算机的名称并在 switch 环境中使用它:
%% Startup.m : use this for all personal settings
username = getenv('UserName');
computername = getenv('ComputerName');
switch [username, '@', computername]
case 'oh@ECOP-CEREFIM06'
% do something in office...
% case 'Catsh@HOME'
% % do something at home...
case 'ohubert@eco-pai04'
otherwise
disp('Oh no no no!');
return
end
然后,在我的脚本中,我有一个在办公室看起来像(例如)的添加路径:
addpath('C:\ohubert\documents\data')
而且,在家里,它应该是:
addpath('d:\olivier\documents\data')
有没有办法让Matlab理解脚本内部从一个案例转换到另一个案例而不必更改整个脚本?从某种意义上说,我只想改变路径的开头而不是结束。
此外,我正在linux下使用第三台计算机,并且对于如何在三个系统之间进行协调以及任何帮助都会非常感激。
非常感谢。
亲切的问候,
奥利弗。
答案 0 :(得分:1)
你不能只定义一个像
这样的变量datapath = 'C:\ohubert\documents\data'
分别(在您的Linux计算机上)
datapath = '/home/hubert/data'
然后在所有函数中使用变量?
addpath(datapath);
使用(平台无关的)MATLAB函数fullfile
添加下一个文件夹f = fullfile(datapath,'subfolder','somefile.mat');
load(f);